我已更改Treeview.HideSelection = false; 但是我如何確保在焦點丟失時所選項目保持原始選定顏色?C#如何確保所選節點在焦點丟失時保持突出顯示
編輯:
我有保存過程中的事件列表窗體上的列表視圖。在同一個窗體上的樹視圖旁邊是用戶完成的一系列選擇,以便在列表視圖中對事件進行分類。但是,當用戶在其中一個分類控件上進行選擇時,藍色突出顯示的所選樹視圖項目變爲灰色。我希望能夠找到定義這種顏色的屬性,使其成爲藍色。
有任何建議。
更新:
public partial class myTreeView : TreeView
{
TreeNode tn = null;
public myTreeView()
{
InitializeComponent();
}
protected override void OnAfterSelect(TreeViewEventArgs e)
{
if (tn != null)
{
tn.BackColor = this.BackColor;
tn.ForeColor = this.ForeColor;
}
tn = e.Node;
base.OnAfterSelect(e);
}
protected override void OnBeforeSelect(TreeViewCancelEventArgs e)
{
e.Node.BackColor = Color.Green;
e.Node.ForeColor = Color.White;
base.OnBeforeSelect(e);
}
protected override void OnGotFocus(System.EventArgs e)
{
base.OnGotFocus(e);
}
protected override void OnLostFocus(System.EventArgs e)
{
if (tn != null)
{
tn.BackColor = Color.Green;
tn.ForeColor = Color.White;
}
// tn.BackColor = Color.Red;
base.OnLostFocus(e);
}
}
您是在談論關注整個應用程序還是僅僅是特定的領域?另外,如果項目保持選擇狀態,還是應該取消選擇? – 2009-01-19 00:15:27
我懷疑你正在試圖解決一些其他問題,並搞亂選擇顏色是你如何解決它的想法。我認爲這是一個壞主意。改爲詢問你原來的問題。肯定有更好的解決方案。 – 2009-01-19 02:12:55