TreeView.DrawMode 属性的C#例子 下面的代码示例演示如何使用所有者描述来自定义 TreeView 控件。此示例中的 TreeView 控件在标准节点标签旁边显示可选的节点标记。使用 TreeNode.Tag 属性指定节点标记。TreeView 控件也使用自定义颜色,包括自定义突出显示颜色。 view plaincopy to clipboardprint? 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); }