TreeViewDrawMode 列挙体
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public Enumeration TreeViewDrawMode

メンバ名 | 説明 | |
---|---|---|
Normal | TreeView はオペレーティング システムによって描画されます。 | |
OwnerDrawAll | アイコン、チェック ボックス、プラス記号とマイナス記号、ノードを接続する線などを含め、TreeView ノードのすべての要素は手動で描画されます。 | |
OwnerDrawText | TreeView ノードのラベル部分は手動で描画されます。それ以外のノード要素、たとえばアイコン、チェック ボックス、プラス記号とマイナス記号、ノードを接続する線などは、オペレーティング システムにより描画されます。 |

この列挙体は 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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- TreeViewDrawMode 列挙体のページへのリンク