我有2个TreeView控件,用户选择TreeView1中的一个节点,然后在TreeView2中选择一个节点。
问题是,当他选择其他TreeView的节点时,前一个节点离开焦点,以便用户不知道选择了哪个TreeView。
有没有办法继续关注2个TreeNodes或更改ForeColor /使所选节点变为粗体,以便所选节点仍然可见。
答案 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所说。