【问题标题】:TreeView Node forecolor not changing when called at certain times?在某些时间调用时,TreeView 节点前景色不会改变?
【发布时间】:2012-03-02 04:12:36
【问题描述】:

我有一个树视图,trvActors。

当我尝试通过单击更改树节点的前景色时,它似乎不起作用,但周围的代码可以工作。

            ((Actor)_rightClickedNode.Tag).IsDefault = true;
            _rightClickedNode.ForeColor = Color.Red;

奇怪的是,isDefault 值发生了变化,但节点并没有改变颜色。这发生在工具条菜单上单击,但同样的事情也发生在简单的右键单击上。

这里是右键单击私有 void trvActors_MouseClick 事件的代码:

  trvActors.SelectedNode = trvActors.GetNodeAt(e.X, e.Y);

        if (trvActors.SelectedNode != null)
        {
            if (e.Button == MouseButtons.Right)
            {
                _rightClickedNode = trvActors.SelectedNode;

                ((Actor)_rightClickedNode.Tag).IsDefault = true;
                _rightClickedNode.ForeColor = Color.Red;

            }
        }

同样的结果。我似乎能够更改前景色的唯一一次是我最初创建节点的时候。有什么想法吗?

【问题讨论】:

    标签: c# winforms treeview mouse


    【解决方案1】:

    您将 FullRowSelect 设置为什么......如果它是真的,也可能你应该把你的代码放在NodeMouseClickBeforeSelect 事件中?

    希望对你有所帮助,

    【讨论】:

    • 它最终成为 FullRowSelect : False 并使用 TreeView1_MouseUp 事件。非常感谢你让我走上正轨。
    • 没问题我很高兴能够快速为您提供解决方案..快乐编码..
    猜你喜欢
    • 1970-01-01
    • 2014-06-19
    • 2021-01-22
    • 2013-07-06
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多