【问题标题】:Treeview nodes won't highlight using PopulateOndemandTreeview 节点不会使用 PopulateOndemand 突出显示
【发布时间】:2011-02-14 07:10:57
【问题描述】:

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

【问题讨论】:

    标签: c# treeview highlight


    【解决方案1】:

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

    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);
       }
    }
    

    【讨论】:

    • 感谢您的洞察力...大声笑,但愚蠢的 navigateURL 无法与 SelectedNodeChanged 一起使用...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多