我改变了 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);
}
}