DrawItemEventArgs.DrawFocusRectangle DrawItemEventArgs.DrawFocusRectangle DrawItemEventArgs.DrawFocusRectangle DrawItemEventArgs.DrawFocusRectangle Method

정의

DrawItemEventArgs 생성자에 지정된 경계 내에 포커스 영역을 그립니다.Draws a focus rectangle within the bounds specified in the DrawItemEventArgs constructor.

public:
 virtual void DrawFocusRectangle();
public virtual void DrawFocusRectangle ();
abstract member DrawFocusRectangle : unit -> unit
override this.DrawFocusRectangle : unit -> unit
Public Overridable Sub DrawFocusRectangle ()

예제

다음 예제에는 소유자가 그린 만드는 방법을 보여 줍니다 ListBox 항목입니다.The following 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 a fixed size 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. 이 예에서는 가정를 ListBox 라는 컨트롤 listBox1 를 폼에 추가 된를 DrawItem 예제 코드에 정의 된 이벤트 처리기 이벤트를 처리 합니다.This example assumes that a ListBox control named listBox1 was added to a form and that the DrawItem event is handled by the event handler that is defined in the example code. 이 예제에서는 항목에 추가 되었는지도 가정 합니다 ListBox 순서로 "Apple", "주황색" 및 "Plum" 텍스트를 사용 하 여 합니다.The example also assumes that items were 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

설명

그리고 있는 항목에 있는 경우 Focus, 포커스 사각형이 그려집니다.If the item being drawn has Focus, the focus rectangle is drawn.

상속자 참고

파생 클래스 DrawFocusRectangle() 에서 재정의 하는 경우 기본 클래스의 DrawFocusRectangle() 메서드를 호출 해야 합니다.When overriding DrawFocusRectangle() in a derived class, make sure to call the DrawFocusRectangle() method of the base class.

적용 대상

추가 정보