DrawMode 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コントロールの要素の描画方法を指定します。
public enum class DrawMode
public enum DrawMode
type DrawMode =
Public Enum DrawMode
- 継承
フィールド
名前 | 値 | 説明 |
---|---|---|
Normal | 0 | コントロールのすべての要素は、オペレーティング システムによって同じサイズに描画されます。 |
OwnerDrawFixed | 1 | コントロールのすべての要素は、手動で同じサイズに描画されます。 |
OwnerDrawVariable | 2 | コントロール内のすべての要素は手動で描画し、要素ごとに異なるサイズを指定できます。 |
例
次の例では、所有者が描画 ListBox したアイテムを作成する方法を示します。 このコードでは、 プロパティを ListBox.DrawMode 使用して、描画される項目のサイズが固定され、 イベントによって ListBox.DrawItem 各項目の への描画が ListBox実行されるように指定します。 この例では、イベント ハンドラーにパラメーターとして渡されるクラスの DrawItemEventArgs プロパティとメソッドを使用して、項目を描画します。 この例では、 ListBox というコントロール listBox1
がフォーム ListBox.DrawItem に追加され、この例で定義されているイベント ハンドラーによってイベントが処理されることを前提としています。 また、この例では、"Apple"、"Orange"、および "Plum" というテキストを含む項目がその順序で に追加 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();
}
Private WithEvents ListBox1 As New ListBox()
Private Sub 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
Controls.Add(ListBox1)
End Sub
Private Sub ListBox1_DrawItem(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DrawItemEventArgs) _
Handles ListBox1.DrawItem
' Draw the background of the ListBox control for each item.
e.DrawBackground()
' Define the default color of the brush as black.
Dim myBrush As Brush = Brushes.Black
' Determine the color of the brush to draw each item based on
' the index of the item to draw.
Select Case e.Index
Case 0
myBrush = Brushes.Red
Case 1
myBrush = Brushes.Orange
Case 2
myBrush = Brushes.Purple
End Select
' 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()
End Sub
注釈
この列挙は、および ComboBox クラスの などのDrawModeListBoxCheckedListBoxメンバーによって使用されます。
一部のコントロールまたは特定の要素の描画をオーバーライドできます。 この列挙は、コントロールがオペレーティング システムによって描画されるか、独自のコードがコントロールの描画を処理するかを指定するために使用されます。
注意
クラスは CheckedListBox のみをサポートします Normal
。所有者描画モードは無視されます。
列挙体の使用方法のDrawMode
詳細については、 イベントと DrawItem
プロパティにMeasureItem
関するページをItemHeight
参照してください。
適用対象
こちらもご覧ください
.NET