DrawItemEventArgs Třída

Definice

Poskytuje data pro událost 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
Dědičnost
DrawItemEventArgs
Odvozené
Implementuje

Příklady

Následující příklad ukazuje, jak vytvořit položky nakreslené ListBox vlastníkem. Kód používá DrawMode vlastnost k určení, že nakreslené položky mají pevnou velikost, a DrawItem událost, která provede vykreslení každé položky do objektu ListBox. Ukázkový kód používá vlastnosti a metody DrawItemEventArgs třídy předané jako parametr obslužné rutině události k vykreslení položek. Tento příklad předpokládá, že ListBox ovládací prvek s názvem listBox1 byl přidán do formuláře a událost DrawItem je zpracována obslužnou rutinou události definovanou v ukázkovém kódu. Příklad také předpokládá, že položky byly přidány do ListBox s textem "Apple", "Orange" a "Plum" v tomto pořadí.

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

Poznámky

Událost DrawItem je vyvolána ovládacími prvky kreslení vlastníka, jako ListBox jsou ovládací prvky a ComboBox . Obsahuje všechny informace potřebné k tomu, aby uživatel zadanou položku vykresloval, včetně indexu položky, objektu Rectanglea objektu Graphics , na kterém by měl být výkres proveden.

Konstruktory

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

Inicializuje novou instanci DrawItemEventArgs třídy pro zadaný ovládací prvek se zadaným písmem, stavem, plochou, na které se má kreslit, a hranice pro kreslení v rámci.

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

Inicializuje novou instanci DrawItemEventArgs třídy pro zadaný ovládací prvek se zadaným písmem, stavem, barvou popředí, barvou pozadí, barvou pozadí, plochou, na které se má kreslit, a hranicemi, ve které se mají kreslit.

Vlastnosti

BackColor

Získá barvu pozadí položky, která je nakreslena.

Bounds

Získá obdélník, který představuje hranice položky, která je nakreslena.

Font

Získá písmo, které je přiřazena k nakreslené položce.

ForeColor

Získá barvu popředí položky, která je nakreslena.

Graphics

Získá grafickou plochu, na které chcete položku nakreslit.

Index

Získá hodnotu indexu položky, která je vybrána.

State

Získá stav vylosované položky.

Metody

Dispose()

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

Dispose(Boolean)

Poskytuje data pro událost DrawItem.

DrawBackground()

Nakreslí pozadí v mezích zadaných v konstruktoru DrawItemEventArgs a příslušnou barvou.

DrawFocusRectangle()

Nakreslí obdélník fokusu v mezích zadaných v konstruktoru DrawItemEventArgs .

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

IDeviceContext.GetHdc()

Vrátí popisovač kontextu zařízení s Windows.

IDeviceContext.ReleaseHdc()

Uvolní popisovač kontextu zařízení s Windows.

Platí pro

Viz také