1

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

有什么方法可以将注意力集中在 2 个 TreeNode 上或更改前景色/使所选节点变粗,以便所选节点仍然可见。

4

2 回答 2

3

将 TreeView 的HideSelection属性设置为 false:

获取或设置一个值,该值指示即使在树视图失去焦点时,选定的树节点是否仍保持突出显示。

于 2012-09-03T09:23:39.743 回答
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为 Stuart 所说的 false 。

于 2012-09-03T13:01:11.223 回答