TreeView.DrawModeとは? わかりやすく解説

TreeView.DrawMode プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

コントロールの描画に使用するモードを取得または設定します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Property DrawMode As
 TreeViewDrawMode
Dim instance As TreeView
Dim value As TreeViewDrawMode

value = instance.DrawMode

instance.DrawMode = value
public TreeViewDrawMode DrawMode { get; set;
 }
public:
property TreeViewDrawMode DrawMode {
    TreeViewDrawMode get ();
    void set (TreeViewDrawMode value);
}
/** @property */
public TreeViewDrawMode get_DrawMode ()

/** @property */
public void set_DrawMode (TreeViewDrawMode
 value)
public function get DrawMode
 () : TreeViewDrawMode

public function set DrawMode
 (value : TreeViewDrawMode)

プロパティ値
TreeViewDrawMode 値の 1 つ。既定値は TreeViewDrawMode.Normal です。

例外例外
例外の種類条件

InvalidEnumArgumentException

プロパティ値が、有効な TreeViewDrawMode 値ではありません。

解説解説

TreeView のノードは、通常、オペレーティング システムによって描画されます。DrawMode プロパティを使用すると、ノードの外観をカスタマイズできます。これには、DrawMode を TreeViewDrawMode.OwnerDrawAll または TreeViewDrawMode.OwnerDrawText に設定して、DrawNode イベントのハンドラを定義します。この操作をオーナー描画と呼びます。

使用例使用例

オーナー描画を使用して TreeView コントロールをカスタマイズする方法を次のコード例に示します。例で使用されている TreeView コントロールは、通常のノード ラベルのそばに、オプションのノード タグを表示します。ノード タグは、TreeNode.Tag プロパティを使用して指定されます。TreeView コントロールは、カスタムの強調表示色を含むカスタム カラーも使用します。

TreeView の色の大半は、カラー プロパティを設定してカスタマイズできますが、選択内容を強調表示する色については、プロパティとしてアクセスすることはできません。また、選択項目を強調表示する既定の四角形は、ノード ラベルの周囲についてのみ拡張されます。ノード タグを描画したり、ノード タグ全体を表示できるようにカスタマイズされた強調表示用の四角形を描画したりするには、オーナー描画を使用する必要があります。

詳細については、DrawNode のリファレンス トピックを参照してください。

Public Sub New()

    ' Create and initialize the TreeView control.
    myTreeView = New TreeView()
    myTreeView.Dock = DockStyle.Fill
    myTreeView.BackColor = Color.Tan
    myTreeView.CheckBoxes = True
    
    ' Add nodes to the TreeView control.
    Dim node As TreeNode
    Dim x As Integer
    For x = 1 To 3

        ' Add a root node to the TreeView control.
        node = myTreeView.Nodes.Add(String.Format("Task
 {0}", x))
        Dim y As Integer
        For y = 1 To 3 

            ' Add a child node to the root node.
            node.Nodes.Add(String.Format("Subtask
 {0}", y))
        Next y
    Next x
    myTreeView.ExpandAll()
    
    ' Add tags containing alert messages to a few nodes 
    ' and set the node background color to highlight them.
    myTreeView.Nodes(1).Nodes(0).Tag = "urgent!"
    myTreeView.Nodes(1).Nodes(0).BackColor = Color.Yellow
    myTreeView.SelectedNode = myTreeView.Nodes(1).Nodes(0)
    myTreeView.Nodes(2).Nodes(1).Tag = "urgent!"
    myTreeView.Nodes(2).Nodes(1).BackColor = Color.Yellow
    
    ' Configure the TreeView control for owner-draw.
    myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText

    ' Add a handler for the MouseDown event so that a node can be 
    ' selected by clicking the tag text as well as the node text.
    AddHandler myTreeView.MouseDown, AddressOf
 myTreeView_MouseDown
    
    ' Initialize the form and add the TreeView control to it.
    Me.ClientSize = New Size(292, 273)
    Me.Controls.Add(myTreeView)
End Sub 'New
public TreeViewOwnerDraw()
{
    // Create and initialize the TreeView control.
    myTreeView = new TreeView();
    myTreeView.Dock = DockStyle.Fill;
    myTreeView.BackColor = Color.Tan;
    myTreeView.CheckBoxes = true;

    // Add nodes to the TreeView control.
    TreeNode node;
    for (int x = 1; x < 4; ++x)
    {
        // Add a root node to the TreeView control.
        node = myTreeView.Nodes.Add(String.Format("Task {0}", x));
        for (int y = 1; y < 4; ++y)
        {
            // Add a child node to the root node.
            node.Nodes.Add(String.Format("Subtask {0}", y));
        }
    }
    myTreeView.ExpandAll();

    // Add tags containing alert messages to a few nodes 
    // and set the node background color to highlight them.
    myTreeView.Nodes[1].Nodes[0].Tag = "urgent!";
    myTreeView.Nodes[1].Nodes[0].BackColor = Color.Yellow;
    myTreeView.SelectedNode = myTreeView.Nodes[1].Nodes[0];
    myTreeView.Nodes[2].Nodes[1].Tag = "urgent!";
    myTreeView.Nodes[2].Nodes[1].BackColor = Color.Yellow;

    // Configure the TreeView control for owner-draw and add
    // a handler for the DrawNode event.
    myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText;
    myTreeView.DrawNode += 
        new DrawTreeNodeEventHandler(myTreeView_DrawNode);

    // Add a handler for the MouseDown event so that a node can be 
    // selected by clicking the tag text as well as the node text.
    myTreeView.MouseDown += new MouseEventHandler(myTreeView_MouseDown);

    // Initialize the form and add the TreeView control to it.
    this.ClientSize = new Size(292, 273);
    this.Controls.Add(myTreeView);
}
public TreeViewOwnerDraw()
{
    // Create and initialize the TreeView control.
    myTreeView = new TreeView();
    myTreeView.set_Dock(DockStyle.Fill);
    myTreeView.set_BackColor(Color.get_Tan());
    myTreeView.set_CheckBoxes(true);
    // Add nodes to the TreeView control.
    TreeNode node;
    for (int x = 1; x < 4; ++x) {
        // Add a root node to the TreeView control.
        node = myTreeView.get_Nodes().Add(String.Format("Task {0}",
            (Int32)x));
        for (int y = 1; y < 4; ++y) {
            // Add a child node to the root node.
            node.get_Nodes().Add(String.Format("Subtask {0}", (Int32)y));
        }
    }
    myTreeView.ExpandAll();
    // Add tags containing alert messages to a few nodes 
    // and set the node background color to highlight them.
    myTreeView.get_Nodes().get_Item(1).get_Nodes().get_Item(0).
        set_Tag("urgent!");
    myTreeView.get_Nodes().get_Item(1).get_Nodes().get_Item(0).
        set_BackColor(Color.get_Yellow());
    myTreeView.set_SelectedNode(myTreeView.get_Nodes().get_Item(1).
        get_Nodes().get_Item(0));
    myTreeView.get_Nodes().get_Item(2).get_Nodes().get_Item(1).
        set_Tag("urgent!");
    myTreeView.get_Nodes().get_Item(2).get_Nodes().get_Item(1).
        set_BackColor(Color.get_Yellow());

    // Configure the TreeView control for owner-draw and add
    // a handler for the DrawNode event.
    myTreeView.set_DrawMode(TreeViewDrawMode.OwnerDrawText);
    myTreeView.add_DrawNode(new DrawTreeNodeEventHandler(
        myTreeView_DrawNode));
    // Add a handler for the MouseDown event so that a node can be 
    // selected by clicking the tag text as well as the node text.
    myTreeView.add_MouseDown(new MouseEventHandler(myTreeView_MouseDown));
    // Initialize the form and add the TreeView control to it.
    this.set_ClientSize(new Size(292, 273));
    this.get_Controls().Add(myTreeView);
} //TreeViewOwnerDraw
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
TreeView クラス
TreeView メンバ
System.Windows.Forms 名前空間
TreeViewDrawMode
DrawNode

TreeViewDrawMode 列挙体

メモ : この列挙体は、.NET Framework version 2.0 で新しく追加されたものです。

TreeView の描画方法を表す定数を定義します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Dim instance As TreeViewDrawMode
public enum TreeViewDrawMode
public enum class TreeViewDrawMode
public enum TreeViewDrawMode
public enum TreeViewDrawMode
メンバメンバ
解説解説

この列挙体は TreeView.DrawMode プロパティで使用され、TreeView のノードまたはノード ラベルがオーナー描画されるかどうかを示します。詳細については、TreeView.DrawNode イベントのトピックを参照してください。

使用例使用例

オーナー描画機能を使用して TreeView コントロールをカスタマイズする方法を次のコード例に示します。例で使用されている TreeView コントロールは、通常のノード ラベルのそばに、オプションのノード タグを表示します。ノード タグは、TreeNode.Tag プロパティを使用して指定されます。TreeView コントロールは、カスタムの強調表示色を含むカスタム カラーも使用します。

TreeView の色の大半は、カラー プロパティを設定してカスタマイズできますが、選択内容を強調表示する色については、プロパティとしてアクセスすることはできません。また、選択項目を強調表示する既定の四角形は、ノード ラベルの周囲についてのみ拡張されます。ノード タグを描画したり、ノード タグ全体を表示できるようにカスタマイズされた強調表示用の四角形を描画したりするには、オーナー描画を使用する必要があります。

詳細については、TreeView.DrawNode のリファレンス トピックを参照してください。

Public Sub New()

    ' Create and initialize the TreeView control.
    myTreeView = New TreeView()
    myTreeView.Dock = DockStyle.Fill
    myTreeView.BackColor = Color.Tan
    myTreeView.CheckBoxes = True
    
    ' Add nodes to the TreeView control.
    Dim node As TreeNode
    Dim x As Integer
    For x = 1 To 3

        ' Add a root node to the TreeView control.
        node = myTreeView.Nodes.Add(String.Format("Task
 {0}", x))
        Dim y As Integer
        For y = 1 To 3 

            ' Add a child node to the root node.
            node.Nodes.Add(String.Format("Subtask
 {0}", y))
        Next y
    Next x
    myTreeView.ExpandAll()
    
    ' Add tags containing alert messages to a few nodes 
    ' and set the node background color to highlight them.
    myTreeView.Nodes(1).Nodes(0).Tag = "urgent!"
    myTreeView.Nodes(1).Nodes(0).BackColor = Color.Yellow
    myTreeView.SelectedNode = myTreeView.Nodes(1).Nodes(0)
    myTreeView.Nodes(2).Nodes(1).Tag = "urgent!"
    myTreeView.Nodes(2).Nodes(1).BackColor = Color.Yellow
    
    ' Configure the TreeView control for owner-draw.
    myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText

    ' Add a handler for the MouseDown event so that a node can be 
    ' selected by clicking the tag text as well as the node text.
    AddHandler myTreeView.MouseDown, AddressOf
 myTreeView_MouseDown
    
    ' Initialize the form and add the TreeView control to it.
    Me.ClientSize = New Size(292, 273)
    Me.Controls.Add(myTreeView)
End Sub 'New
public TreeViewOwnerDraw()
{
    // Create and initialize the TreeView control.
    myTreeView = new TreeView();
    myTreeView.Dock = DockStyle.Fill;
    myTreeView.BackColor = Color.Tan;
    myTreeView.CheckBoxes = true;

    // Add nodes to the TreeView control.
    TreeNode node;
    for (int x = 1; x < 4; ++x)
    {
        // Add a root node to the TreeView control.
        node = myTreeView.Nodes.Add(String.Format("Task {0}", x));
        for (int y = 1; y < 4; ++y)
        {
            // Add a child node to the root node.
            node.Nodes.Add(String.Format("Subtask {0}", y));
        }
    }
    myTreeView.ExpandAll();

    // Add tags containing alert messages to a few nodes 
    // and set the node background color to highlight them.
    myTreeView.Nodes[1].Nodes[0].Tag = "urgent!";
    myTreeView.Nodes[1].Nodes[0].BackColor = Color.Yellow;
    myTreeView.SelectedNode = myTreeView.Nodes[1].Nodes[0];
    myTreeView.Nodes[2].Nodes[1].Tag = "urgent!";
    myTreeView.Nodes[2].Nodes[1].BackColor = Color.Yellow;

    // Configure the TreeView control for owner-draw and add
    // a handler for the DrawNode event.
    myTreeView.DrawMode = TreeViewDrawMode.OwnerDrawText;
    myTreeView.DrawNode += 
        new DrawTreeNodeEventHandler(myTreeView_DrawNode);

    // Add a handler for the MouseDown event so that a node can be 
    // selected by clicking the tag text as well as the node text.
    myTreeView.MouseDown += new MouseEventHandler(myTreeView_MouseDown);

    // Initialize the form and add the TreeView control to it.
    this.ClientSize = new Size(292, 273);
    this.Controls.Add(myTreeView);
}
public TreeViewOwnerDraw()
{
    // Create and initialize the TreeView control.
    myTreeView = new TreeView();
    myTreeView.set_Dock(DockStyle.Fill);
    myTreeView.set_BackColor(Color.get_Tan());
    myTreeView.set_CheckBoxes(true);
    // Add nodes to the TreeView control.
    TreeNode node;
    for (int x = 1; x < 4; ++x) {
        // Add a root node to the TreeView control.
        node = myTreeView.get_Nodes().Add(String.Format("Task {0}",
            (Int32)x));
        for (int y = 1; y < 4; ++y) {
            // Add a child node to the root node.
            node.get_Nodes().Add(String.Format("Subtask {0}", (Int32)y));
        }
    }
    myTreeView.ExpandAll();
    // Add tags containing alert messages to a few nodes 
    // and set the node background color to highlight them.
    myTreeView.get_Nodes().get_Item(1).get_Nodes().get_Item(0).
        set_Tag("urgent!");
    myTreeView.get_Nodes().get_Item(1).get_Nodes().get_Item(0).
        set_BackColor(Color.get_Yellow());
    myTreeView.set_SelectedNode(myTreeView.get_Nodes().get_Item(1).
        get_Nodes().get_Item(0));
    myTreeView.get_Nodes().get_Item(2).get_Nodes().get_Item(1).
        set_Tag("urgent!");
    myTreeView.get_Nodes().get_Item(2).get_Nodes().get_Item(1).
        set_BackColor(Color.get_Yellow());

    // Configure the TreeView control for owner-draw and add
    // a handler for the DrawNode event.
    myTreeView.set_DrawMode(TreeViewDrawMode.OwnerDrawText);
    myTreeView.add_DrawNode(new DrawTreeNodeEventHandler(
        myTreeView_DrawNode));
    // Add a handler for the MouseDown event so that a node can be 
    // selected by clicking the tag text as well as the node text.
    myTreeView.add_MouseDown(new MouseEventHandler(myTreeView_MouseDown));
    // Initialize the form and add the TreeView control to it.
    this.set_ClientSize(new Size(292, 273));
    this.get_Controls().Add(myTreeView);
} //TreeViewOwnerDraw
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「TreeView.DrawMode」の関連用語

TreeView.DrawModeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



TreeView.DrawModeのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS