我更改了Treeview.HideSelection = false;
但是,如何确保当焦点丢失时所选项目仍然是原始选定颜色?
但是,如何确保当焦点丢失时所选项目仍然是原始选定颜色?
编辑:
我在表单上有一个列表视图,其中包含一系列流程事件.在同一表单上的Treeview旁边是一系列选项,用户完成这些选择以在列表视图中对事件进行分类.但是,当用户在其中一个分类控件上进行选择时,蓝色突出显示的选定Treeview项目将变为灰色.我希望找到定义这种颜色的属性,使其颜色为蓝色.
有什么建议.
更新:
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); } }
解决方法
将ListView.HideSelection设置为true意味着当焦点丢失时,它将隐藏选择.通过将HideSelection设置为false,所选项目仍将具有显示选择了哪个项目的颜色指示器.