閱讀英文

共用方式為


DrawMode 列舉

定義

指定如何繪製控制項的項目。

C#
public enum DrawMode
繼承
DrawMode

欄位

名稱 Description
Normal 0

控制項中的所有項目都由作業系統所繪製,且有相同的大小。

OwnerDrawFixed 1

控制項中的所有項目都是手動繪製,且有相同的大小。

OwnerDrawVariable 2

控制項中的所有項目都是手動繪製,並且可以有不同的大小。

範例

下列範例示範如何建立擁有者繪製 ListBox 的專案。 程式碼會 ListBox.DrawMode 使用 屬性來指定繪製的專案會固定大小,而 ListBox.DrawItem 事件則會執行每個專案的繪圖。 ListBox 此範例會使用傳遞為參數給事件處理常式的 DrawItemEventArgs 類別屬性和方法,來繪製專案。 本範例假設 ListBox 已將稱為 listBox1 的控制項新增至表單,而且 ListBox.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();
}

備註

這個列舉是由 、 CheckedListBoxComboBox 類別等 ListBox 成員 DrawMode 使用。

您可以覆寫某些控制項或特定專案的繪圖。 這個列舉是用來指定作業系統所繪製的控制項,或您自己的程式碼是否處理控制項的繪圖。

注意

類別 CheckedListBox 僅支援 Normal ;會忽略擁有者繪製模式。

如需使用 DrawMode 列舉的詳細資訊,請參閱 MeasureItemDrawItem 事件和 ItemHeight 屬性。

適用於

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

另請參閱