DrawMode Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u op hoe de elementen van een besturingselement worden getekend.
public enum class DrawMode
public enum DrawMode
type DrawMode =
Public Enum DrawMode
- Overname
Velden
| Name | Waarde | Description |
|---|---|---|
| Normal | 0 | Alle elementen in een besturingselement worden getekend door het besturingssysteem en hebben dezelfde grootte. |
| OwnerDrawFixed | 1 | Alle elementen in het besturingselement worden handmatig getekend en hebben dezelfde grootte. |
| OwnerDrawVariable | 2 | Alle elementen in het besturingselement worden handmatig getekend en kunnen in grootte verschillen. |
Voorbeelden
In het volgende voorbeeld ziet u hoe u door de eigenaar getekende ListBox items maakt. De code gebruikt de ListBox.DrawMode eigenschap om op te geven dat de getekende items een vaste grootte hebben en de ListBox.DrawItem gebeurtenis om de tekening van elk item in het ListBoxitem uit te voeren. In het voorbeeld worden de eigenschappen en methoden van de DrawItemEventArgs klasse gebruikt die als parameter aan de gebeurtenis-handler zijn doorgegeven om de items te tekenen. In dit voorbeeld wordt ervan uitgegaan dat een ListBox aangeroepen besturingselement listBox1 is toegevoegd aan een formulier en dat de ListBox.DrawItem gebeurtenis wordt verwerkt door de gebeurtenis-handler die in het voorbeeld is gedefinieerd. In het voorbeeld wordt ook ervan uitgegaan dat items in die volgorde aan de ListBox items zijn toegevoegd met de tekst 'Apple', 'Oranje' en 'Plum'.
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
Opmerkingen
Deze opsomming wordt gebruikt door leden, zoals DrawMode in de ListBox, CheckedListBoxen ComboBox klassen.
U kunt de tekening van bepaalde besturingselementen of bepaalde elementen overschrijven. Deze opsomming wordt gebruikt om op te geven of een besturingselement wordt getekend door het besturingssysteem of als uw eigen code de tekening van het besturingselement afhandelt.
Note
De CheckedListBox klasse ondersteunt Normalalleen; tekenmodi van eigenaar worden genegeerd.
Zie de MeasureItem en events en DrawItem de eigenschap voor meer informatie over het gebruik van de DrawModeItemHeight opsomming.