DrawItemEventArgs.Index DrawItemEventArgs.Index DrawItemEventArgs.Index DrawItemEventArgs.Index Property

定義

描画されている項目のインデックス値を取得します。Gets the index value of the item that is being drawn.

public:
 property int Index { int get(); };
public int Index { get; }
member this.Index : int
Public ReadOnly Property Index As Integer

プロパティ値

描画されている項目の Item[Int32] 値を表す数値。The numeric value that represents the Item[Int32] value of the item being drawn.

次の例は、オーナー描画ListBoxの項目を作成する方法を示しています。The following example demonstrates how to create owner-drawn ListBox items. このコードではDrawMode 、プロパティを使用して、描画される項目が固定DrawItemサイズであることを指定し、イベントをListBox使用して各項目の描画をに実行します。The code uses the DrawMode property to specify that the items drawn are a fixed size and the DrawItem event to perform the drawing of each item into the ListBox. このコード例では、イベントハンドラーにパラメーター DrawItemEventArgsとして渡されたクラスのプロパティとメソッドを使用して、項目を描画します。The example code uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. この例では、 ListBoxというlistBox1名前のコントロールがフォームに追加さDrawItemれ、このコード例で定義されているイベントハンドラーによってイベントが処理されることを前提としています。This example assumes that a ListBox control named listBox1 was added to a form and that the DrawItem event is handled by the event handler that is defined in the example code. また、この例では、 ListBox項目が "Apple"、"オレンジ"、および "Plum" のテキストをこの順序でに追加されていることを前提としています。The example also assumes that items were added to the ListBox with the text of "Apple", "Orange", and "Plum", in that order.

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

注釈

このプロパティは、 Item[String] System.Windows.Forms.Control.ControlCollectionで描画されている項目の値を返します。This property returns the Item[String] value of the item being drawn in the System.Windows.Forms.Control.ControlCollection. リストから項目が削除された場合、このプロパティは-1 を返すことができます。This property can return -1 if items were removed from the list.

適用対象

こちらもご覧ください