(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ListBox.DrawItem-Ereignis

Tritt ein, wenn sich ein Darstellungsaspekt einer Ownerdrawn-ListBox ändert.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public event DrawItemEventHandler DrawItem

Dieses Ereignis wird von einer Ownerdrawn-ListBox verwendet. Das Ereignis wird nur ausgelöst, wenn die DrawMode-Eigenschaft auf DrawMode.OwnerDrawFixed oder DrawMode.OwnerDrawVariable festgelegt ist. Mithilfe dieses Ereignisses können Sie die Aufgaben durchführen, die zum Zeichnen der Elemente in der ListBox erforderlich sind. Bei einem Element mit variabler Größe (die DrawMode-Eigenschaft ist auf DrawMode.OwnerDrawVariable festgelegt) wird vor dem Zeichnen eines Elements das MeasureItem-Ereignis ausgelöst. Sie können einen Ereignishandler für das MeasureItem-Ereignis erstellen, um die Größe für das Element anzugeben, das im Ereignishandler für das DrawItem-Ereignis gezeichnet werden soll.

Weitere Informationen über die Behandlung von Ereignissen finden Sie unter: Behandeln von Ereignissen.

Im folgenden Codebeispiel wird das Erstellen von Ownerdrawn-ListBox-Elementen veranschaulicht. Mit der DrawMode-Eigenschaft gibt der Code an, dass die gezeichneten Elemente eine feste Größe besitzen, und durch das DrawItem-Ereignis zeichnet der Code jedes Element in der ListBox. Der Beispielcode zeichnet die Elemente mithilfe der Eigenschaften und Methoden der DrawItemEventArgs-Klasse, die als Parameter an den Ereignishandler übergeben wurde. Für dieses Beispiel muss einem Formular das ListBox-Steuerelement listBox1 hinzugefügt werden, und das DrawItem-Ereignis muss von einem im Beispielcode definierten Ereignishandler behandelt werden. Für das Beispiel müssen außerdem der ListBox Elemente hinzugefügt werden, wobei der Text "Apple", "Orange" und "Plum" in der angegebenen Reihenfolge lautet.


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();
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft