DrawItemEventArgs クラス

定義

DrawItem イベントのデータを提供します。Provides data for the DrawItem event.

public ref class DrawItemEventArgs : EventArgs
public class DrawItemEventArgs : EventArgs
type DrawItemEventArgs = class
    inherit EventArgs
Public Class DrawItemEventArgs
Inherits EventArgs
継承
DrawItemEventArgs
派生

次の例は、オーナー描画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 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. この例では、 ListBoxという名前listBox1のコントロールがフォームに追加され、このDrawItemコード例で定義されているイベントハンドラーによってイベントが処理されることを前提としています。This example assumes that a ListBox control that is named listBox1 has been added to a form and that the DrawItem event is handled by the event handler defined in the example code. また、この例では、"Apple"、 ListBox "オレンジ"、および "Plum" というテキストをこの順序で使用して、に項目が追加されていることを前提としています。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

注釈

イベントDrawItemは、コントロールListBoxComboBoxコントロールなどのオーナー描画コントロールによって発生します。The DrawItem event is raised by owner draw controls, such as the ListBox and ComboBox controls. これには、ユーザーが指定した項目を描画するために必要なすべての情報が含まれRectangleていますGraphics 。これには、項目のインデックス、、および描画を行う必要があります。It contains all the information that is needed for the user to paint the specified item, including the item index, the Rectangle, and the Graphics on which the drawing should be done.

コンストラクター

DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState)

フォント、状態、描画する表面、および描画する範囲を指定して、特定のコントロールの DrawItemEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the DrawItemEventArgs class for the specified control with the specified font, state, surface to draw on, and the bounds to draw within.

DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, Color, Color)

フォント、状態、前景色、背景色、描画する表面、および描画する範囲を指定して、特定のコントロールの DrawItemEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the DrawItemEventArgs class for the specified control with the specified font, state, foreground color, background color, surface to draw on, and the bounds to draw within.

プロパティ

BackColor

描画されている項目の背景色を取得します。Gets the background color of the item that is being drawn.

Bounds

描画されている項目の境界を表す四角形を取得します。Gets the rectangle that represents the bounds of the item that is being drawn.

Font

描画されている項目に割り当てられているフォントを取得します。Gets the font that is assigned to the item being drawn.

ForeColor

描画されている項目の前景色を取得します。Gets the foreground color of the of the item being drawn.

Graphics

項目を描画するグラフィックス表面を取得します。Gets the graphics surface to draw the item on.

Index

描画されている項目のインデックス値を取得します。Gets the index value of the item that is being drawn.

State

描画されている項目の状態を取得します。Gets the state of the item being drawn.

メソッド

DrawBackground()

DrawItemEventArgs コンストラクターで指定されている境界内に適切な色で背景を描画します。Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color.

DrawFocusRectangle()

DrawItemEventArgs コンストラクターで指定されている境界内に、フォーカスを示す四角形を描画します。Draws a focus rectangle within the bounds specified in the DrawItemEventArgs constructor.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください