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. 코드를 사용 하는 ListBox.DrawMode 속성을 그리는 항목은 고정 된 크기 및 ListBox.DrawItem 에 각 항목의 그리기를 수행 하는 이벤트를 ListBox입니다.The code uses the ListBox.DrawMode property to specify that the items drawn are fixed sized and the ListBox.DrawItem event to perform the drawing of each item into the ListBox. 이 예제에서는 이벤트 처리기에 매개 변수로 전달 DrawItemEventArgs 된 클래스의 속성 및 메서드를 사용 하 여 항목을 그립니다.The example uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. 이 예제에서는 라는 ListBox listBox1 컨트롤이 폼에 추가 되 고 ListBox.DrawItem 해당 이벤트가 예제에 정의 된 이벤트 처리기에 의해 처리 되는 것으로 가정 합니다.This example assumes that a ListBox control called listBox1 has been added to a form and that the ListBox.DrawItem event is handled by the event handler defined in the example. 이 예제에서는 항목에 추가 된는 또한 가정는 ListBox 순서로 "Apple", "주황색" 및 "진한 보라" 텍스트를 사용 하 여 합니다.The example also assumes that items have been added to the ListBox 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

설명

이 열거형 멤버와 같은 사용 됩니다 DrawModeListBoxCheckedListBox, 및 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 는만 지원 Normal합니다. 소유자 그리기 모드는 무시 됩니다.The CheckedListBox class only supports Normal; owner draw modes are ignored.

사용에 대 한 자세한 내용은 DrawMode 열거형을 참조 합니다 MeasureItemDrawItem 이벤트 및 ItemHeight 속성.For more information about using the DrawMode enumeration, see the MeasureItem and DrawItem events, and the ItemHeight property.

적용 대상

추가 정보