C#如何在焦点丢失时确保所选节点保持突出显示

前端之家收集整理的这篇文章主要介绍了C#如何在焦点丢失时确保所选节点保持突出显示前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我更改了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,所选项目仍将具有显示选择了哪个项目的颜色指示器.

猜你在找的C#相关文章