Partilhar via


DrawItemEventArgs Classe

Definição

Fornece dados para o evento de 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
Herança
DrawItemEventArgs
Derivado
Implementações

Exemplos

O exemplo a seguir demonstra como criar itens desenhados pelo ListBox proprietário. O código usa a DrawMode propriedade para especificar que os itens desenhados são de tamanho fixo e o DrawItem evento para executar o desenho de cada item no ListBox. O código de exemplo usa as propriedades e os DrawItemEventArgs métodos da classe passados como um parâmetro para o manipulador de eventos para desenhar os itens. Este exemplo pressupõe que um ListBox controle nomeado listBox1 tenha sido adicionado a um formulário e que o DrawItem evento seja tratado pelo manipulador de eventos definido no código de exemplo. O exemplo também pressupõe que os itens foram adicionados ao ListBox com o texto "Apple", "Orange" e "Plum" nessa ordem.

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

Comentários

O DrawItem evento é gerado por controles de desenho do proprietário, como os ListBox controles e ComboBox . Ele contém todas as informações necessárias para o usuário pintar o item especificado, incluindo o índice do item, o Rectanglee o Graphics no qual o desenho deve ser feito.

Construtores

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

Inicializa uma nova instância da classe DrawItemEventArgs para o controle especificado com a fonte, estado, superfície de desenho e limites do desenho indicados.

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

Inicializa uma nova instância da classe DrawItemEventArgs para o controle especificado com a fonte, estado, cor de primeiro plano, cor da tela de fundo, superfície de desenho e limites do desenho indicados.

Propriedades

BackColor

Obtém a cor da tela de fundo do item que está sendo desenhado.

Bounds

Obtém o retângulo que representa os limites do item que está sendo desenhado.

Font

Obtém a fonte que é atribuída ao item que está sendo desenhado.

ForeColor

Obtém a cor de primeiro plano do item que está sendo desenhado.

Graphics

Obtém a superfície de elementos gráficos no qual desenhar o item.

Index

Obtém o valor de índice do item que está sendo desenhado.

State

Obtém o estado do item que está sendo desenhado.

Métodos

Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

Dispose(Boolean)

Fornece dados para o evento de DrawItem .

DrawBackground()

Desenha a tela de fundo dentro dos limites especificados no construtor DrawItemEventArgs e com a cor apropriada.

DrawFocusRectangle()

Desenha um retângulo de foco dentro dos limites especificados no construtor DrawItemEventArgs.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

IDeviceContext.GetHdc()

Retorna o identificador de um contexto de dispositivo Windows.

IDeviceContext.ReleaseHdc()

Libera o identificador de um contexto de dispositivo Windows.

Aplica-se a

Confira também