DrawMode DrawMode DrawMode DrawMode Enum

定義

コントロールの要素の描画方法を指定します。Specifies how the elements of a control are drawn.

public enum class DrawMode
public enum DrawMode
type DrawMode = 
Public Enum DrawMode
継承

フィールド

Normal Normal Normal Normal 0

コントロールのすべての要素は、オペレーティング システムによって同じサイズに描画されます。All the elements in a control are drawn by the operating system and are of the same size.

OwnerDrawFixed OwnerDrawFixed OwnerDrawFixed OwnerDrawFixed 1

コントロールのすべての要素は、手動で同じサイズに描画されます。All the elements in the control are drawn manually and are of the same size.

OwnerDrawVariable OwnerDrawVariable OwnerDrawVariable OwnerDrawVariable 2

コントロール内のすべての要素は手動で描画し、要素ごとに異なるサイズを指定できます。All the elements in the control are drawn manually and can differ in size.

次の例は、オーナー描画を作成する方法を示しますListBox項目。The following example demonstrates how to create owner-drawn ListBox items. コードを使用して、DrawMode描画された項目が固定されることを指定するプロパティのサイズとDrawItemに各項目の描画を実行するイベント、DrawItemします。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 DrawItem. プロパティとメソッドのコード例を使用して、DrawItemEventArgs項目を描画するためにイベント ハンドラーにパラメーターとして渡されるクラス。The example code uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. この例では、ListBoxというコントロールlistBox1がフォームに追加されて、DrawItemイベントは、コード例で定義されているイベント ハンドラーによって処理されます。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. 例が項目に追加されたことを想定しても、DrawItemをこの順序で"Apple"、「オレンジ」および"Plum"のテキストを使用します。The example also assumes that items have been added to the DrawItem with the text of "Apple", "Orange", and "Plum" in that order.

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

注釈

この列挙体がなどのメンバーによって使用されますDrawModeで、 ListBoxCheckedListBox、およびComboBoxクラス。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.

注意

CheckedListBoxクラスには、通常のみサポートしています。 オーナー描画モードは無視されます。The CheckedListBox class only supports Normal; owner draw modes are ignored.

使用しての詳細については、DrawMode.Normal列挙型を参照してください、MeasureItemDrawItemイベント、およびItemHeightプロパティ。For more information about using the DrawMode.Normal enumeration, see the MeasureItem and DrawItem events, and the ItemHeight property.

適用対象

こちらもご覧ください