我有2個TreeView控件,用戶選擇TreeView1中的一個節點,然後在TreeView2中選擇一個節點。
問題是,當他選擇另一個TreeView節點時,前一個節點離開焦點,以便用戶不知道選擇了哪個TreeView。同時在不同樹形視圖中選擇2個節點
是否有任何方法來關注2個TreeNodes或更改ForeColor /使所選節點變爲粗體,以便所選節點仍然可見。
我有2個TreeView控件,用戶選擇TreeView1中的一個節點,然後在TreeView2中選擇一個節點。
問題是,當他選擇另一個TreeView節點時,前一個節點離開焦點,以便用戶不知道選擇了哪個TreeView。同時在不同樹形視圖中選擇2個節點
是否有任何方法來關注2個TreeNodes或更改ForeColor /使所選節點變爲粗體,以便所選節點仍然可見。
設置TreeView的HideSelection屬性設置爲false:
獲取或設置所選樹節點是否仍然 強調即使在樹視圖失去焦點的值。
您可以有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
假的斯圖爾特說
[C#的WinForms亮點樹節點的可能重複時樹狀犯規。有焦點](http://stackoverflow.com/questions/10034714/c-sharp-winforms-highlight-treenode-when-treeview-doesnt-have-focus) –
你的意思是通過點擊treeview中的一個節點,一些其他節點被選中在其他樹視圖?! –