DrawMode Výčet
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í.
Určuje způsob vykreslení prvků ovládacího prvku.
public enum class DrawMode
public enum DrawMode
type DrawMode =
Public Enum DrawMode
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| Normal | 0 | Všechny prvky v ovládacím prvku jsou vykresleny operačním systémem a mají stejnou velikost. |
| OwnerDrawFixed | 1 | Všechny prvky v ovládacím prvku jsou nakresleny ručně a mají stejnou velikost. |
| OwnerDrawVariable | 2 | Všechny prvky v ovládacím prvku jsou nakresleny ručně a mohou se lišit velikostí. |
Příklady
Následující příklad ukazuje, jak vytvořit položky nakreslené ListBox vlastníkem. Kód používá ListBox.DrawMode vlastnost k určení, že nakreslené položky mají pevnou velikost a ListBox.DrawItem událost k provedení výkresu každé položky do ListBox. Příklad používá vlastnosti a metody DrawItemEventArgs třídy předané jako parametr obslužné rutině události nakreslit položky. Tento příklad předpokládá, že ListBox volaný listBox1 ovládací prvek byl přidán do formuláře a že ListBox.DrawItem událost je zpracována obslužnou rutinou události definovanou v příkladu. 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
Tento výčet je používán členy, jako DrawMode jsou v ListBox, CheckedListBoxa ComboBox třídy.
Výkres některých ovládacích prvků nebo určitých prvků můžete přepsat. Tento výčet se používá k určení, zda je ovládací prvek vykreslen operačním systémem nebo pokud váš vlastní kód zpracovává výkres ovládacího prvku.
Poznámka:
Třída CheckedListBox podporuje Normalpouze režimy kreslení vlastníka jsou ignorovány.
Další informace o použití výčtu DrawMode naleznete v MeasureItem tématu a DrawItem události a ItemHeight vlastnost.