ListBox.DrawMode 속성

정의

컨트롤의 그리기 모드를 가져오거나 설정합니다.Gets or sets the drawing mode for the control.

public:
 virtual property System::Windows::Forms::DrawMode DrawMode { System::Windows::Forms::DrawMode get(); void set(System::Windows::Forms::DrawMode value); };
public virtual System.Windows.Forms.DrawMode DrawMode { get; set; }
member this.DrawMode : System.Windows.Forms.DrawMode with get, set
Public Overridable Property DrawMode As DrawMode

속성 값

컨트롤 항목의 그리기 모드를 나타내는 DrawMode 값 중 하나입니다.One of the DrawMode values representing the mode for drawing the items of the control. 기본값은 DrawMode.Normal입니다.The default is DrawMode.Normal.

예외

속성에 할당된 값이 DrawMode 열거형의 멤버가 아닌 경우The value assigned to the property is not a member of the DrawMode enumeration.

여러 열로 구성된 ListBox가 가변 높이를 가질 수 없는 경우A multicolumn ListBox cannot have a variable-sized height.

예제

다음 코드 예제에서는 소유자가 그린 ListBox 항목을 만드는 방법을 보여 줍니다.The following code example demonstrates how to create owner-drawn ListBox items. 코드를 사용 하는 DrawMode 속성을 그리는 항목은 고정 된 크기 및 DrawItem 에 각 항목의 그리기를 수행 하는 이벤트를 ListBox입니다.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. 메서드와 속성을 사용 하는 예제 코드는 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. 이 예제에서는 listBox1 이라는 ListBox 컨트롤이 폼에 추가 되 고 DrawItem 이벤트가 예제 코드에 정의 된 이벤트 처리기에 의해 처리 되어야 합니다.This example requires 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. 또한이 예제에서는 "Apple", "주황색" 및 "Plum" 텍스트를 사용 하 여 ListBox에 항목을 추가 해야 합니다.The example also requires 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

적용 대상

추가 정보