この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

DrawMode 列挙型

 

公開日: 2016年10月

コントロールの要素の描画方法を指定します。

名前空間:   System.Windows.Forms
アセンブリ:  System.Windows.Forms (System.Windows.Forms.dll 内)

public enum DrawMode

メンバー名説明
Normal

コントロール内のすべての要素は、オペレーティング システムによって作成されますされ、同じサイズは。

OwnerDrawFixed

コントロール内のすべての要素は、手動で描画され、同じサイズは。

OwnerDrawVariable

コントロール内のすべての要素は、手動で描画され、サイズが異なることをがします。

この列挙体がなどのメンバーによって使用されます DrawMode で、 ListBox, 、CheckedListBox, 、および ComboBox クラスです。

一部のコントロールまたは特定の要素の描画をオーバーライドすることができます。 この列挙体を使用して、オペレーティング システムによってコントロールが描画される場合、または独自のコードは、コントロールの描画を処理する場合を指定します。

System_CAPS_noteメモ

CheckedListBox クラスのみでサポート DrawMode.Normal; オーナー描画モードは無視されます。

使用の詳細については、 DrawMode 列挙体を参照してください、 MeasureItemDrawItem イベント、および ItemHeight プロパティです。

次の例では、オーナー描画を作成する方法 ListBox 項目。 コードを使用して、 DrawMode 描画された項目を修正することを指定するプロパティのサイズと DrawItem に各項目の描画を実行するイベント、 ListBoxです。 プロパティとメソッドのコード例を使用して、 DrawItemEventArgs クラスは、項目を描画するイベント ハンドラーをパラメーターとして渡します。 この例では、 ListBox というコントロール listBox1 フォームに追加されて、 DrawItem のコード例で定義されているイベント ハンドラーでイベントが処理します。 例では、さらに項目が追加されている、 ListBox その順序で"Apple"、「オレンジ」および「プラム」のテキストを使用します。

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 以降で使用可能
トップに戻る
表示: