DrawItemEventArgs.Index Własność
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Pobiera wartość indeksu elementu, który jest rysowany.
public:
property int Index { int get(); };
public int Index { get; }
member this.Index : int
Public ReadOnly Property Index As Integer
Wartość nieruchomości
Wartość liczbowa reprezentująca Item[Int32] wartość rysowanego elementu.
Przykłady
W poniższym przykładzie pokazano, jak utworzyć elementy rysowane ListBox przez właściciela. Kod używa DrawMode właściwości , aby określić, że elementy rysowane są stałym rozmiarem i DrawItem zdarzeniem do wykonania rysunku każdego elementu w elemencie ListBox. Przykładowy kod używa właściwości i metod klasy przekazanej DrawItemEventArgs jako parametr do procedury obsługi zdarzeń w celu narysowania elementów. W tym przykładzie założono, że kontrolka ListBox o nazwie listBox1 została dodana do formularza i że DrawItem zdarzenie jest obsługiwane przez procedurę obsługi zdarzeń zdefiniowaną w przykładowym kodzie. W tym przykładzie założono również, że elementy zostały dodane do ListBox tekstu "Apple", "Orange" i "Plum" w tej kolejności.
private ListBox ListBox1 = new ListBox();
private void InitializeListBox()
{
ListBox1.Items.AddRange(new Object[]
{ "Red Item", "Orange Item", "Purple Item" });
ListBox1.Location = new System.Drawing.Point(81, 69);
ListBox1.Size = new System.Drawing.Size(120, 95);
ListBox1.DrawMode = DrawMode.OwnerDrawFixed;
ListBox1.DrawItem += new DrawItemEventHandler(ListBox1_DrawItem);
Controls.Add(ListBox1);
}
private void ListBox1_DrawItem(object sender,
System.Windows.Forms.DrawItemEventArgs e)
{
// Draw the background of the ListBox control for each item.
e.DrawBackground();
// Define the default color of the brush as black.
Brush myBrush = Brushes.Black;
// Determine the color of the brush to draw each item based
// on the index of the item to draw.
switch (e.Index)
{
case 0:
myBrush = Brushes.Red;
break;
case 1:
myBrush = Brushes.Orange;
break;
case 2:
myBrush = Brushes.Purple;
break;
}
// Draw the current item text based on the current Font
// and the custom brush settings.
e.Graphics.DrawString(ListBox1.Items[e.Index].ToString(),
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault);
// If the ListBox has focus, draw a focus rectangle around the selected item.
e.DrawFocusRectangle();
}
Private WithEvents ListBox1 As New ListBox()
Private Sub InitializeListBox()
ListBox1.Items.AddRange(New Object() _
{"Red Item", "Orange Item", "Purple Item"})
ListBox1.Location = New System.Drawing.Point(81, 69)
ListBox1.Size = New System.Drawing.Size(120, 95)
ListBox1.DrawMode = DrawMode.OwnerDrawFixed
Controls.Add(ListBox1)
End Sub
Private Sub ListBox1_DrawItem(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DrawItemEventArgs) _
Handles ListBox1.DrawItem
' Draw the background of the ListBox control for each item.
e.DrawBackground()
' Define the default color of the brush as black.
Dim myBrush As Brush = Brushes.Black
' Determine the color of the brush to draw each item based on
' the index of the item to draw.
Select Case e.Index
Case 0
myBrush = Brushes.Red
Case 1
myBrush = Brushes.Orange
Case 2
myBrush = Brushes.Purple
End Select
' Draw the current item text based on the current
' Font and the custom brush settings.
e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), _
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault)
' If the ListBox has focus, draw a focus rectangle around _
' the selected item.
e.DrawFocusRectangle()
End Sub
Uwagi
Ta właściwość zwraca Item[] wartość elementu rysowanego w elemencie System.Windows.Forms.Control.ControlCollection. Ta właściwość może zwrócić wartość -1, jeśli elementy zostały usunięte z listy.