【发布时间】:2011-02-14 07:10:57
【问题描述】:
我有一个树形视图,一旦选中该节点,我想在树形视图中突出显示(更改文本颜色)该节点。由于某种原因,这对我不起作用。当我选择一个节点时,什么都没有发生,但是当我在我刚刚选择的同一个节点上单击加号时……它突出显示……即使当我单击任何子节点时,也没有任何反应,并且根节点始终保持突出显示。谁能指出我正确的方向...我正在使用 c#。
【问题讨论】:
我有一个树形视图,一旦选中该节点,我想在树形视图中突出显示(更改文本颜色)该节点。由于某种原因,这对我不起作用。当我选择一个节点时,什么都没有发生,但是当我在我刚刚选择的同一个节点上单击加号时……它突出显示……即使当我单击任何子节点时,也没有任何反应,并且根节点始终保持突出显示。谁能指出我正确的方向...我正在使用 c#。
【问题讨论】:
以下内容对我有用。请注意,我取消了实际的选择,否则选择突出显示会隐藏我的突出显示。因此,您可能必须跟踪手动选择了哪个节点。
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);
}
}
【讨论】: