DrawItemEventArgs.DrawBackground メソッド

定義

DrawItemEventArgs コンストラクターで指定されている境界内に適切な色で背景を描画します。

public virtual void DrawBackground ();

次の例では、所有者が描画 ListBox したアイテムを作成する方法を示します。 このコードでは、 プロパティを DrawMode 使用して、描画される項目が固定サイズであることを指定し、各アイテムの DrawItem への描画を実行するイベントを ListBox指定します。 このコード例では、イベント ハンドラーにパラメーターとして渡されるクラスの DrawItemEventArgs プロパティとメソッドを使用して、項目を描画します。 この例では、 という名前listBox1ListBoxコントロールがフォームDrawItemに追加され、コード例で定義されているイベント ハンドラーによってイベントが処理されることを前提としています。 また、この例では、"Apple"、"Orange"、および "Plum" のテキストを使用して ListBox 、その順序で 項目が に追加されたと想定しています。

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();
}

注釈

描画される項目が の場合、 Selected背景はテキストが強調表示された状態で描画されます。

注意 (継承者)

派生クラスで をオーバーライドする DrawBackground() 場合は、必ず基底クラスの メソッドを DrawBackground() 呼び出してください。

適用対象

製品 バージョン
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

こちらもご覧ください