DrawMode Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie la façon dont les éléments d’un contrôle sont dessinés.
public enum class DrawMode
public enum DrawMode
type DrawMode =
Public Enum DrawMode
- Héritage
Champs
| Nom | Valeur | Description |
|---|---|---|
| Normal | 0 | Tous les éléments d’un contrôle sont dessinés par le système d’exploitation et sont de même taille. |
| OwnerDrawFixed | 1 | Tous les éléments du contrôle sont dessinés manuellement et sont de même taille. |
| OwnerDrawVariable | 2 | Tous les éléments du contrôle sont dessinés manuellement et peuvent différer de la taille. |
Exemples
L’exemple suivant montre comment créer des éléments dessinés par ListBox le propriétaire. Le code utilise la ListBox.DrawMode propriété pour spécifier que les éléments dessinés sont de taille fixe et que l’événement ListBox.DrawItem pour effectuer le dessin de chaque élément dans le ListBox. L’exemple utilise les propriétés et méthodes de la DrawItemEventArgs classe passées en tant que paramètre au gestionnaire d’événements pour dessiner les éléments. Cet exemple suppose qu’un ListBox contrôle appelé listBox1 a été ajouté à un formulaire et que l’événement ListBox.DrawItem est géré par le gestionnaire d’événements défini dans l’exemple. L’exemple suppose également que les éléments ont été ajoutés au ListBox texte « Apple », « Orange » et « Plum » dans cet ordre.
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
Remarques
Cette énumération est utilisée par des membres tels que DrawMode dans les classes CheckedListBoxet ComboBox les ListBoxclasses.
Vous pouvez remplacer le dessin de certains contrôles ou de certains éléments. Cette énumération est utilisée pour spécifier si un contrôle est dessiné par le système d’exploitation ou si votre propre code gère le dessin du contrôle.
Note
La CheckedListBox classe prend uniquement en charge Normal; les modes de dessin propriétaire sont ignorés.
Pour plus d’informations sur l’utilisation de l’énumérationDrawMode, consultez les événements et DrawItem les MeasureItem événements et la ItemHeight propriété.