gpt4 book ai didi

c# - TreeView 随机无法显示新添加的节点

转载 作者:可可西里 更新时间:2023-11-01 13:58:16 25 4
gpt4 key购买 nike

我在 WinForm 应用程序中有一个 TreeView,我正在使用 addreorderdelete 方法添加新节点、重新排序现有节点和删除旧注释。

有时,当我添加一个新项目时,它会立即显示在 TreeView 中,但当我添加下一个节点时,它确实会正确显示。它似乎是随机发生的,因此很难找到根本原因。

即使节点未在 UI 中正确显示,节点计数也是正确的。

TreeView1.BeginUpdate();
TreeView1.Nodes.Add("P1", "Parent");

foreach(User u in items)
{
if( condition)
{
node.Text =u.sNodeText;
node.Tag = u;
node.Text = u.sNodeText;
GetChildren(node);
TreeView1.Nodes["P1"].Nodes.Add((TreeNode)node.Clone());
}
}
TreeView1.ExpandAll();
TreeView1.EndUpdate();
TreeView1.Refresh();

谁能回答这个问题?我觉得这个问题不是没有意义。这是 GetChildren 方法。

     private void GetChildren(TreeNode node)
{
TreeNode Node = null;
User nodeCat = (User)node.Tag;

foreach (User cat in items)
{
if (cat.sParentID == nodeCat.sID)
{
Node = node.Nodes.Add(cat.sNodeText);
Node.Tag = cat;
GetChildren(Node);
}
}

最佳答案

您是否尝试过 Invalidate()Refresh()? Refresh只重绘Client区,Invalidate重绘整个控件。这只是在黑暗中拍摄......我以前从未遇到过这个问题。

关于c# - TreeView 随机无法显示新添加的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com