同时在不同的树视图中选择2个节点

时间:2012-09-03 09:20:58

标签: c# winforms treeview

我有2个TreeView控件,用户选择TreeView1中的一个节点,然后在TreeView2中选择一个节点。
问题是,当他选择其他TreeView的节点时,前一个节点离开焦点,以便用户不知道选择了哪个TreeView。

有没有办法继续关注2个TreeNodes或更改ForeColor /使所选节点变为粗体,以便所选节点仍然可见。

2 个答案:

答案 0 :(得分:3)

将TreeView的HideSelection属性设置为false:

  

获取或设置一个值,该值指示所选树节点是否保留   即使树视图失去焦点也会突出显示。

答案 1 :(得分:1)

您可以有2个字段来跟踪您拥有的两个树视图的选定节点(使用AfterSelect事件)。类似的东西:

    private TreeNode selectedNodeA;
    private TreeNode selectedNodeB;

    private void treeViewA_AfterSelect(object sender, TreeViewEventArgs e)
    {
        //Reset color if was perviously highlighted
        if (selectedNodeA != null)
            selectedNodeA.BackColor = Color.White;

        selectedNodeA = e.Node;

        //Here you can indicate the node is selected, change background color or set font to
        // Bold or any other tricks!
        selectedNodeA.BackColor = Color.LightGray;

         //Rest of code
     }

以上代码是指您需要与默认颜色winforms使用的颜色不同的时间(通过将HideSelection设置为false,正如Stuart所说。