DrawItemEventArgs Classe

Definizione

Fornisce i dati per l'evento DrawItem.

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
Ereditarietà
DrawItemEventArgs
Derivato
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come creare elementi disegnati ListBox dal proprietario. Il codice usa la DrawMode proprietà per specificare che gli elementi disegnati sono di dimensioni fisse e l'evento DrawItem per eseguire il disegno di ogni elemento in ListBox. Il codice di esempio usa le proprietà e i metodi della DrawItemEventArgs classe passati come parametro al gestore eventi per disegnare gli elementi. In questo esempio si presuppone che un ListBox controllo denominato listBox1 sia stato aggiunto a una maschera e che l'evento DrawItem venga gestito dal gestore eventi definito nel codice di esempio. L'esempio presuppone inoltre che gli ListBox elementi siano stati aggiunti a con il testo di "Apple", "Orange" e "Plum" in tale ordine.

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 dai controlli di disegno del proprietario, ad esempio i ListBox controlli e ComboBox . Contiene tutte le informazioni necessarie per l'utente per disegnare l'elemento specificato, inclusi l'indice dell'elemento, l'oggetto Rectanglee l'oggetto Graphics in cui eseguire il disegno.

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.

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.

Proprietà

BackColor

Ottiene il colore di sfondo dell'elemento da disegnare.

Bounds

Ottiene il rettangolo che rappresenta i limiti dell'elemento da disegnare.

Font

Ottiene il tipo di carattere assegnato all'elemento da disegnare.

ForeColor

Ottiene il colore di primo piano dell'elemento da disegnare.

Graphics

Ottiene la superficie dell'immagine su cui disegnare l'elemento.

Index

Ottiene il valore di indice dell'elemento da disegnare.

State

Ottiene lo stato dell'elemento da disegnare.

Metodi

Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

Dispose(Boolean)

Fornisce i dati per l'evento DrawItem.

DrawBackground()

Disegna lo sfondo all'interno dei limiti specificati nel costruttore del metodo DrawItemEventArgs e con il colore appropriato.

DrawFocusRectangle()

Disegna un rettangolo di attivazione all'interno dei limiti specificati nel costruttore DrawItemEventArgs.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IDeviceContext.GetHdc()

Restituisce l'handle per un contesto di periferica Windows.

IDeviceContext.ReleaseHdc()

Rilascia l'handle per un contesto di periferica Windows.

Si applica a

Vedi anche