gpt4 book ai didi

c# - 节点在winform TreeView中被部分截断

转载 作者:太空狗 更新时间:2023-10-29 23:01:09 26 4
gpt4 key购买 nike

我无法弄清楚这是什么问题。我用谷歌搜索了一下,没有找到很多解决这个问题的方法。我发现的唯一“解决方案”是扩展然后折叠最后一个节点的技巧。

this.Nodes[this.Nodes.Count - 1].Expand();
this.Nodes[this.Nodes.Count - 1].Collapse();

正如您从这个屏幕截图中看到的那样,最后一个节点被部分截断,显示它的唯一方法是展开节点,这将导致 TreeView 正确地重新呈现自身。

enter image description here

我正在务实地将节点添加到 TreeView。我不知道这是否会影响结果,但我已将 TreeView 扩展到我自己的类中,因此我可以向它添加一些属性和方法。

public class MyTreeView : TreeView
{

public void BuildTree()
{
this.Nodes.Clear();
foreach (TestSetFolder folder in Folders)
{
MyTreeNode node = new MyTreeNode();
node.Name = folder.Name;
node.Text = folder.Name;
node.Tag = folder;
node.FolderID = folder.NodeID;
node.IsPopulated = false;

this.Nodes.Add(node);
}
}
}

这就是我将节点添加到列表的方式。有没有人对此问题有一个干净的解决方案?

最佳答案

在任何视觉变化前后使用 treeView.BeginUpdate()treeView.EndUpdate()

SuspendLayout() 和 ResumeLayout() 也很有用!

如果要更新UI,不要一口气添加所有节点!一个接一个地添加,夹在 begin 和 endupdate 调用之间。

关于c# - 节点在winform TreeView中被部分截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12301169/

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