DrawMode Enumeration
Specifies how the elements of a control are drawn.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
This enumeration is used by members such as DrawMode in the ListBox, CheckedListBox, and ComboBox classes.
You can override the drawing of some controls or certain elements. This enumeration is used to specify if a control is drawn by the operating system or if your own code handles the drawing of the control.
Note: |
|---|
The CheckedListBox class only supports DrawMode.Normal; owner draw modes are ignored. |
For more information about using the DrawMode enumeration, see the MeasureItem and DrawItem events, and the ItemHeight property.
The following example demonstrates how to create owner-drawn ListBox items. The code uses the DrawMode property to specify that the items drawn are fixed sized and the DrawItem event to perform the drawing of each item into the ListBox. The example code uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. This example assumes that a ListBox control called listBox1 has been added to a form and that the DrawItem event is handled by the event handler defined in the example code. The example also assumes that items have been added to the ListBox with the text of "Apple", "Orange", and "Plum" in that order.
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
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note: