DrawItemEventArgs.DrawBackground 方法

定義

DrawItemEventArgs 建構函式 (Constructor) 中指定的界限內繪製背景,並使用適當的色彩。

C#
public virtual void DrawBackground();

範例

下列範例示範如何建立擁有者繪製 ListBox 的專案。 程式碼會 DrawMode 使用 屬性來指定繪製的專案是固定大小,而 DrawItem 事件則會執行每個專案的繪圖到 ListBox 。 此範例程式碼會使用傳遞為事件處理常式參數之 DrawItemEventArgs 類別的屬性和方法,來繪製專案。 這個範例假設名為 listBox1ListBox 控制項已新增至表單,而且 DrawItem 事件是由範例程式碼中定義的事件處理常式所處理。 此範例也假設專案以 「Apple」、「Orange」 和 「Plum」 文字新增至 ListBox ,順序為 。

C#
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, 10

另請參閱