DrawItemEventArgs Klasa

Definicja

Udostępnia dane dla zdarzenia 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
Dziedziczenie
DrawItemEventArgs
Pochodne
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak utworzyć elementy rysowane ListBox przez właściciela. Kod używa DrawMode właściwości , aby określić, że rysowane elementy mają stały rozmiar, a DrawItem zdarzenie do wykonania rysunku każdego elementu w ListBoxobiekcie . Przykładowy kod używa właściwości i metod klasy przekazanej DrawItemEventArgs jako parametr do procedury obsługi zdarzeń w celu narysowania elementów. W tym przykładzie przyjęto założenie, że kontrolka ListBox o nazwie listBox1 została dodana do formularza i że DrawItem zdarzenie jest obsługiwane przez program obsługi zdarzeń zdefiniowany w przykładowym kodzie. W przykładzie założono również, że elementy zostały dodane do ListBox elementu z tekstem "Apple", "Orange" i "Plum" w tej kolejności.

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

Uwagi

Zdarzenie DrawItem jest wywoływane przez kontrolki rysowania właściciela, takie jak kontrolki ListBox i ComboBox . Zawiera on wszystkie informacje potrzebne użytkownikowi do malowania określonego elementu, w tym indeksu elementów, Rectanglei , Graphics na których należy wykonać rysunek.

Konstruktory

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

Inicjuje nowe wystąpienie DrawItemEventArgs klasy dla określonej kontrolki z określoną czcionką, stanem, powierzchnią do rysowania i granicami do rysowania.

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

Inicjuje nowe wystąpienie DrawItemEventArgs klasy dla określonej kontrolki z określoną czcionką, stanem, kolorem pierwszego planu, kolorem tła, powierzchnią do rysowania i granicami do rysowania.

Właściwości

BackColor

Pobiera kolor tła elementu, który jest rysowany.

Bounds

Pobiera prostokąt reprezentujący granice rysowanego elementu.

Font

Pobiera czcionkę przypisaną do rysowanego elementu.

ForeColor

Pobiera kolor pierwszego planu elementu rysowanego.

Graphics

Pobiera powierzchnię grafiki, aby narysować element.

Index

Pobiera wartość indeksu elementu, który jest rysowany.

State

Pobiera stan rysowanego elementu.

Metody

Dispose()

Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych.

Dispose(Boolean)

Udostępnia dane dla zdarzenia DrawItem.

DrawBackground()

Rysuje tło w granicach określonych w konstruktorze DrawItemEventArgs i z odpowiednim kolorem.

DrawFocusRectangle()

Rysuje prostokąt fokusu w granicach określonych w konstruktorze DrawItemEventArgs .

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IDeviceContext.GetHdc()

Zwraca dojście do kontekstu urządzenia z systemem Windows.

IDeviceContext.ReleaseHdc()

Zwalnia uchwyt kontekstu urządzenia z systemem Windows.

Dotyczy

Zobacz też