DrawItemEventArgs Classe

Definizione

Fornisce dati per l'evento DrawItem.Provides data for the DrawItem event.

public ref class DrawItemEventArgs : EventArgs
public class DrawItemEventArgs : EventArgs
type DrawItemEventArgs = class
    inherit EventArgs
Public Class DrawItemEventArgs
Inherits EventArgs
Ereditarietà
DrawItemEventArgs
Derivato

Esempio

Nell'esempio seguente viene illustrato come creare elementi di ListBox creati dal proprietario.The following example demonstrates how to create owner-drawn ListBox items. Il codice usa la proprietà DrawMode per specificare che gli elementi disegnati sono a dimensione fissa e l'evento DrawItem per eseguire il disegno di ogni elemento nella ListBox.The code uses the DrawMode property to specify that the items drawn are fixed sized and the DrawItem event to perform the drawing of each item into the ListBox. Il codice di esempio usa le proprietà e i metodi della classe DrawItemEventArgs passati come parametro al gestore eventi per creare gli elementi.The example code uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. In questo esempio si presuppone che un controllo ListBox denominato listBox1 sia stato aggiunto a un form e che l'evento DrawItem venga gestito dal gestore eventi definito nel codice di esempio.This example assumes that a ListBox control that is named listBox1 has been added to a form and that the DrawItem event is handled by the event handler defined in the example code. Nell'esempio si presuppone anche che gli elementi siano stati aggiunti all'ListBox con il testo "Apple", "Orange" e "prugna" in tale ordine.The example also assumes that items have been 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

Commenti

L'evento DrawItem viene generato da controlli Owner Draw, ad esempio i controlli ListBox e ComboBox.The DrawItem event is raised by owner draw controls, such as the ListBox and ComboBox controls. Contiene tutte le informazioni necessarie all'utente per disegnare l'elemento specificato, tra cui l'indice dell'elemento, il Rectanglee il Graphics in cui deve essere eseguito il disegno.It contains all the information that is needed for the user to paint the specified item, including the item index, the Rectangle, and the Graphics on which the drawing should be done.

Costruttori

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

Inizializza una nuova istanza della classe DrawItemEventArgs per il controllo specificato con il tipo di carattere, lo stato, la superficie su cui disegnare e i limiti entro i quali disegnare specificati.Initializes a new instance of the DrawItemEventArgs class for the specified control with the specified font, state, surface to draw on, and the bounds to draw within.

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

Inizializza una nuova istanza della classe DrawItemEventArgs per il controllo specificato con il tipo di carattere, lo stato, il colore di primo piano, il colore di sfondo, la superficie su cui disegnare e i limiti entro i quali disegnare specificati.Initializes a new instance of the DrawItemEventArgs class for the specified control with the specified font, state, foreground color, background color, surface to draw on, and the bounds to draw within.

Proprietà

BackColor

Ottiene il colore di sfondo dell'elemento da disegnare.Gets the background color of the item that is being drawn.

Bounds

Ottiene il rettangolo che rappresenta i limiti dell'elemento da disegnare.Gets the rectangle that represents the bounds of the item that is being drawn.

Font

Ottiene il tipo di carattere assegnato all'elemento da disegnare.Gets the font that is assigned to the item being drawn.

ForeColor

Ottiene il colore di primo piano dell'elemento da disegnare.Gets the foreground color of the of the item being drawn.

Graphics

Ottiene la superficie dell'immagine su cui disegnare l'elemento.Gets the graphics surface to draw the item on.

Index

Ottiene il valore di indice dell'elemento da disegnare.Gets the index value of the item that is being drawn.

State

Ottiene lo stato dell'elemento da disegnare.Gets the state of the item being drawn.

Metodi

DrawBackground()

Disegna lo sfondo all'interno dei limiti specificati nel costruttore del metodo DrawItemEventArgs e con il colore appropriato.Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color.

DrawFocusRectangle()

Disegna un rettangolo di attivazione all'interno dei limiti specificati nel costruttore DrawItemEventArgs.Draws a focus rectangle within the bounds specified in the DrawItemEventArgs constructor.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche