0

我有一个树视图,一旦选择了该节点,我想在树视图中突出显示(更改文本颜色)该节点。由于某种原因,这对我不起作用。当我选择一个节点时,什么都没有发生,但是当我在我刚刚选择的同一个节点上单击加号时……它突出显示……即使当我单击任何子节点时,也没有任何反应,并且根节点始终保持突出显示。谁能指出我正确的方向...我正在使用 c#。

4

1 回答 1

0

以下对我有用。请注意,我取消了实际的选择,否则选择突出显示会隐藏我的突出显示。因此,您可能必须跟踪手动选择了哪个节点。

private void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
   Dehighlight(treeView1.Nodes);
   e.Node.ForeColor = Color.Red;
   e.Cancel = true;
}

private void Dehighlight(TreeNodeCollection nodes)
{
   foreach (TreeNode node in nodes)
   {
      node.BackColor = Color.White;
      node.ForeColor = Color.Black;
      Dehighlight(node.Nodes);
   }
}
于 2010-04-30T21:14:08.603 回答