TreeView节点的前景在特定时间调用时不会更改

本文关键字:调用 定时间 节点 TreeView | 更新日期: 2023-09-27 18:23:51

我有一个树视图trvActors。

当我试图通过点击树节点来更改它的前景时,它似乎不起作用,但周围的代码起作用。

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

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

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

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

TreeView节点的前景在特定时间调用时不会更改

FullRowSelect设置为什么…如果为true,则设为false。也许您应该将代码放入NodeMouseClick或BeforeSelect事件中?

希望这能帮助你,