Teilen über


DrawItemEventArgs Klasse

Definition

Stellt Daten für das DrawItem-Ereignis bereit.

public ref class DrawItemEventArgs : EventArgs
public ref class DrawItemEventArgs : EventArgs, IDisposable, System::Drawing::IDeviceContext
public class DrawItemEventArgs : EventArgs
public class DrawItemEventArgs : EventArgs, IDisposable, System.Drawing.IDeviceContext
type DrawItemEventArgs = class
    inherit EventArgs
type DrawItemEventArgs = class
    inherit EventArgs
    interface IDisposable
    interface IDeviceContext
Public Class DrawItemEventArgs
Inherits EventArgs
Public Class DrawItemEventArgs
Inherits EventArgs
Implements IDeviceContext, IDisposable
Vererbung
DrawItemEventArgs
Abgeleitet
Implementiert

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie vom Besitzer gezeichnete ListBox Elemente erstellen. Der Code verwendet die DrawMode -Eigenschaft, um anzugeben, dass die gezeichneten Elemente eine feste Größe haben, und das DrawItem -Ereignis, um die Zeichnung jedes Elements in der ListBoxauszuführen. Der Beispielcode verwendet die Eigenschaften und Methoden der Klasse, die DrawItemEventArgs als Parameter an den Ereignishandler übergeben wird, um die Elemente zu zeichnen. In diesem Beispiel wird davon ausgegangen, dass einem Formular ein ListBox Steuerelement mit dem Namen listBox1 hinzugefügt wurde und dass das DrawItem Ereignis vom im Beispielcode definierten Ereignishandler behandelt wird. Im Beispiel wird auch davon ausgegangen, dass Elemente mit ListBox dem Text "Apple", "Orange" und "Plum" in dieser Reihenfolge hinzugefügt wurden.

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

Hinweise

Das DrawItem -Ereignis wird von Draw-Steuerelementen des Besitzers ausgelöst, z. B. von den ListBox Steuerelementen und ComboBox . Sie enthält alle Informationen, die der Benutzer benötigt, um das angegebene Element zu zeichnen, einschließlich des Elementindexes, des Rectangleund des Graphics , auf dem die Zeichnung erfolgen soll.

Konstruktoren

DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState)

Initialisiert eine neue Instanz der DrawItemEventArgs-Klasse für das angegebene Steuerelement, wobei Schriftart, Zustand, Zeichenoberfläche und Begrenzungen für den Zeichenvorgang wie angegeben festgelegt werden.

DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, Color, Color)

Initialisiert eine neue Instanz der DrawItemEventArgs-Klasse für das angegebene Steuerelement, wobei Schriftart, Zustand, Vordergrundfarbe, Hintergrundfarbe, Zeichenoberfläche und Begrenzungen für den Zeichenvorgang wie angegeben festgelegt werden.

Eigenschaften

BackColor

Ruft die Hintergrundfarbe des Elements ab, das gerade gezeichnet wird.

Bounds

Ruft das Rechteck ab, das die Begrenzungen des gerade gezeichneten Elements darstellt.

Font

Ruft die Schriftart ab, die dem gerade gezeichneten Element zugewiesen ist.

ForeColor

Ruft die Vordergrundfarbe des Elements ab, das gerade gezeichnet wird.

Graphics

Ruft die Grafikoberfläche ab, auf der das Element gezeichnet werden soll.

Index

Ruft den Indexwert des Elements ab, das gerade gezeichnet wird.

State

Ruft den Zustand des Elements ab, das gerade gezeichnet wird.

Methoden

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

Dispose(Boolean)

Stellt Daten für das DrawItem-Ereignis bereit.

DrawBackground()

Zeichnet den Hintergrund innerhalb der im DrawItemEventArgs-Konstruktor angegebenen Begrenzungen und mit der entsprechenden Farbe.

DrawFocusRectangle()

Zeichnet ein Fokusrechteck innerhalb der im DrawItemEventArgs-Konstruktor angegebenen Begrenzungen.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IDeviceContext.GetHdc()

Gibt das Handle für einen Windows-Gerätekontext zurück.

IDeviceContext.ReleaseHdc()

Gibt das Handle eines Windows-Gerätekontexts frei.

Gilt für:

Weitere Informationen