エクスポート (0) 印刷
すべて展開
展開 最小化
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

DrawMode 列挙体

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

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

public enum DrawMode

メンバー名説明
Normalコントロールのすべての要素は、オペレーティング システムによって同じサイズに描画されます。
OwnerDrawFixedコントロールのすべての要素は、手動で同じサイズに描画されます。
OwnerDrawVariableコントロール内のすべての要素は手動で描画し、要素ごとに異なるサイズを指定できます。

この列挙体は、ListBoxCheckedListBoxComboBox の各クラスの DrawMode などのメンバーで使用されます。

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

メモメモ

CheckedListBox クラスは DrawMode.Normal だけをサポートします。オーナー描画モードは無視されます。

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

オーナー描画の ListBox 項目を作成する方法を次の例に示します。 このコードでは、DrawMode プロパティを使用して、描画する項目が固定サイズであることを示し、DrawItem イベントを使用して、ListBox への各項目の描画を実行しています。 この例のコードでは、イベント ハンドラーへのパラメーターとして渡された DrawItemEventArgs クラスのプロパティとメソッドを使用して項目を描画しています。 この例は、listBox1 という名前の ListBox コントロールがフォームに既に追加されていて、DrawItem イベントがこの例のコードに定義されているイベント ハンドラーで処理されることを前提にしています。 この例では、"Apple"、"Orange"、"Plum" の 3 つのテキストの項目がこの順番で 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();
}


.NET Framework

サポート対象 : 4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

この .NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、次を参照してください。.NET Framework システム要件.

コミュニティの追加

追加
表示:
© 2014 Microsoft