DrawItemEventArgs.Graphics 屬性

定義

取得項目繪製其上的圖形介面。

C#
public System.Drawing.Graphics Graphics { get; }

屬性值

項目繪製其上的 Graphics 介面。

範例

下列範例示範如何建立擁有者繪製 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();
}

適用於

產品 版本
.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

另請參閱