DrawItemEventArgs Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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 k provedení výkresu každé položky do 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 že DrawItem událost 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 textu "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, například ovládacími ListBox prvky a ComboBox ovládacími prvky. Obsahuje všechny informace potřebné pro uživatele k vykreslení zadané položky, včetně indexu položky, Rectanglea informací Graphics , na kterých má být výkres proveden.
Konstruktory
| Name | Description |
|---|---|
| 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í, povrchem pro kreslení a hranicemi, které se mají nakreslit. |
| DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState) |
Inicializuje novou instanci DrawItemEventArgs třídy pro zadaný ovládací prvek se zadaným písmem, stavem, povrchem pro kreslení a hranicemi, které se mají nakreslit. |
Vlastnosti
| Name | Description |
|---|---|
| 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 přiřazené k nakreslené položce. |
| ForeColor |
Získá barvu popředí položky, která je nakreslena. |
| Graphics |
Načte grafickou plochu, na kterou chcete položku nakreslit. |
| Index |
Získá index hodnotu položky, která je nakreslena. |
| State |
Získá stav nakreslené položky. |
Metody
| Name | Description |
|---|---|
| Dispose() |
Provádí úlohy definované aplikací související s uvolněním, uvolněním nebo resetováním nespravovaných prostředků. |
| Dispose(Boolean) |
Poskytuje data pro událost |
| DrawBackground() |
Nakreslí pozadí v mezích zadaných v konstruktoru DrawItemEventArgs a s příslušnou barvou. |
| DrawFocusRectangle() |
Nakreslí obdélník fokusu v mezích zadaných v konstruktoru DrawItemEventArgs . |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IDeviceContext.GetHdc() |
Vrátí popisovač kontextu zařízení s Windows. |
| IDeviceContext.ReleaseHdc() |
Uvolní popisovač kontextu zařízení s Windows. |