BindingSource.MoveNext Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Переходит к следующему элементу в списке.
public:
void MoveNext();
public void MoveNext ();
member this.MoveNext : unit -> unit
Public Sub MoveNext ()
Примеры
В следующем примере кода показаны члены MoveNext, MoveFirst, Currentи Position . Чтобы выполнить этот пример, вставьте код в форму, которая импортирует System.Drawing.Drawing2D пространство имен и содержит BindingSource имя BindingSource1
и кнопку с именем button1
. Свяжите Form1_Load
методы и Form1_Paint
с событиями Load и Paint для формы, а метод — button1_click
с событием Click для button1
. Пользователям Visual Basic потребуется добавить ссылку на System.Data.dll.
void Form1_Load(Object^ sender, EventArgs^ e)
{
// Set the data source to the Brush type and populate
// bindingSource1; with some brushes.
bindingSource1->DataSource = System::Drawing::Brush::typeid;
bindingSource1->Add(
gcnew TextureBrush(gcnew Bitmap(Button::typeid, "Button.bmp")));
bindingSource1->Add(gcnew HatchBrush(HatchStyle::Cross, Color::Red));
bindingSource1->Add(gcnew SolidBrush(Color::Blue));
}
private:
void moveNextButton_Click(Object^ sender, EventArgs^ e)
{
// If you are not at the end of the list, move to the next item
// in the BindingSource.
if (bindingSource1->Position + 1 < bindingSource1->Count)
{
bindingSource1->MoveNext();
}
// Otherwise, move back to the first item.
else
{
bindingSource1->MoveFirst();
}
// Force the form to repaint.
this->Invalidate();
}
void Form1_Paint(Object^ sender, PaintEventArgs^ e)
{
// Get the current item in the BindingSource.
Brush^ item = (Brush^) bindingSource1->Current;
// If the current type is a TextureBrush, fill an ellipse.
if (item->GetType() == TextureBrush::typeid)
{
e->Graphics->FillEllipse(item,e->ClipRectangle);
}
// If the current type is a HatchBrush, fill a triangle.
else if (item->GetType() == HatchBrush::typeid)
{
e->Graphics->FillPolygon(item,
gcnew array<Point> {*gcnew Point(0, 0),
*gcnew Point(0, 200),
*gcnew Point(200, 0)});
}
// Otherwise, fill a rectangle.
else
{
e->Graphics->FillRectangle(
(Brush^)bindingSource1->Current, e->ClipRectangle);
}
}
void Form1_Load(object sender, EventArgs e)
{
// Set the data source to the Brush type and populate
// BindingSource1 with some brushes.
BindingSource1.DataSource = typeof(System.Drawing.Brush);
BindingSource1.Add(
new TextureBrush(new Bitmap(typeof(Button), "Button.bmp")));
BindingSource1.Add(new HatchBrush(HatchStyle.Cross, Color.Red));
BindingSource1.Add(new SolidBrush(Color.Blue));
}
private void button1_Click(object sender, EventArgs e)
{
// If you are not at the end of the list, move to the next item
// in the BindingSource.
if (BindingSource1.Position + 1 < BindingSource1.Count)
BindingSource1.MoveNext();
// Otherwise, move back to the first item.
else
BindingSource1.MoveFirst();
// Force the form to repaint.
this.Invalidate();
}
void Form1_Paint(object sender, PaintEventArgs e)
{
// Get the current item in the BindingSource.
Brush item = (Brush)BindingSource1.Current;
// If the current type is a TextureBrush, fill an ellipse.
if (item.GetType() == typeof(TextureBrush))
e.Graphics.FillEllipse(item,
e.ClipRectangle);
// If the current type is a HatchBrush, fill a triangle.
else if (item.GetType() == typeof(HatchBrush))
e.Graphics.FillPolygon(item,
new Point[] { new Point(0, 0), new Point(0, 200),
new Point(200, 0)});
// Otherwise, fill a rectangle.
else
e.Graphics.FillRectangle(
(Brush)BindingSource1.Current, e.ClipRectangle);
}
Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
Handles Me.Load
' Set the data source to the Brush type and populate
' BindingSource1 with some brushes.
BindingSource1.DataSource = GetType(System.Drawing.Brush)
BindingSource1.Add(New TextureBrush(New Bitmap(GetType(Button), _
"Button.bmp")))
BindingSource1.Add(New HatchBrush(HatchStyle.Cross, Color.Red))
BindingSource1.Add(New SolidBrush(Color.Blue))
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
' If you are not at the end of the list, move to the next item
' in the BindingSource.
If BindingSource1.Position + 1 < BindingSource1.Count Then
BindingSource1.MoveNext()
' Otherwise, move back to the first item.
Else
BindingSource1.MoveFirst()
End If
' Force the form to repaint.
Me.Invalidate()
End Sub
Sub Form1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs)
' Get the current item in the BindingSource.
Dim item As Brush = CType(BindingSource1.Current, Brush)
' If the current type is a TextureBrush, fill an ellipse.
If item.GetType().Equals(GetType(TextureBrush)) Then
e.Graphics.FillEllipse(item, _
e.ClipRectangle)
' If the current type is a HatchBrush, fill a triangle.
ElseIf item.GetType().Equals(GetType(HatchBrush)) Then
e.Graphics.FillPolygon(item, New Point() _
{New Point(0, 0), New Point(0, 200), New Point(200, 0)})
' Otherwise, fill a rectangle.
Else
e.Graphics.FillRectangle(item, e.ClipRectangle)
End If
End Sub
Комментарии
Изменяет текущее значение Position свойства на следующий элемент в базовом источнике данных.