DrawItemEventArgs Clase

Definición

Proporciona datos para el 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
Herencia
DrawItemEventArgs
Derivado
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo crear elementos dibujados ListBox por el propietario. El código usa la DrawMode propiedad para especificar que los elementos dibujados tienen un tamaño fijo y el DrawItem evento para realizar el dibujo de cada elemento en .ListBox El código de ejemplo usa las propiedades y los métodos de la DrawItemEventArgs clase que se pasan como parámetro al controlador de eventos para dibujar los elementos. En este ejemplo se supone que se ha agregado un ListBox control denominado listBox1 a un formulario y que el controlador de eventos definido en el código de ejemplo controla el DrawItem evento. En el ejemplo también se supone que los elementos se han agregado a ListBox con el texto de "Apple", "Orange" y "Plum" en ese orden.

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

Comentarios

El DrawItem evento lo generan los controles de dibujo del propietario, como los ListBox controles y ComboBox . Contiene toda la información necesaria para que el usuario pinte el elemento especificado, incluido el índice del elemento, y Rectangleel en el Graphics que se debe realizar el dibujo.

Constructores

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

Inicializa una nueva instancia de la clase DrawItemEventArgs para el control especificado con la fuente, el estado, la superficie en la que dibujar y los límites en los que se puede dibujar especificados.

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

Inicializa una nueva instancia de la clase DrawItemEventArgs para el control especificado con la fuente, el estado, el color de fondo y de primer plano, la superficie en la que dibujar y los límites en los que se puede dibujar especificados.

Propiedades

BackColor

Obtiene el color de fondo del elemento que se va a dibujar.

Bounds

Obtiene el rectángulo que representa los límites del elemento que se va a dibujar.

Font

Obtiene la fuente asignada al elemento que se va a dibujar.

ForeColor

Obtiene el color de primer plano del elemento que se va a dibujar.

Graphics

Obtiene la superficie gráfica donde se va a dibujar el elemento.

Index

Obtiene el valor de índice del elemento que se va a dibujar.

State

Obtiene el estado del elemento que se va a dibujar.

Métodos

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

Dispose(Boolean)

Proporciona datos para el evento DrawItem.

DrawBackground()

Dibuja el fondo dentro de los límites especificados en el constructor DrawItemEventArgs y con el color apropiado.

DrawFocusRectangle()

Dibuja un rectángulo de foco dentro de los límites especificados en el constructor DrawItemEventArgs.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IDeviceContext.GetHdc()

Devuelve el identificador de un contexto de dispositivo de Windows.

IDeviceContext.ReleaseHdc()

Libera el identificador de un contexto de dispositivo de Windows.

Se aplica a

Consulte también