TreeView Node forecolor在特定时间调用时不会改变?

时间:2012-02-09 16:52:48

标签: c# winforms treeview mouse

我有一个树视图,trvActors。

当我尝试通过点击更改treenode的前景色时,它似乎不起作用,但周围的代码有效。

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

奇怪的是,isDefault值会改变,但节点不会改变颜色。这是在tooltripmenuitem点击时发生的,但是在简单的右键单击上也会发生同样的事情。

以下是右键单击private 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;

            }
        }

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

1 个答案:

答案 0 :(得分:1)

你有什么设置FullRowSelect ..如果是真的那么把它弄错也可能你应该把你的代码放在NodeMouseClickBeforeSelect事件中?

希望这可以帮助你,