gpt4 book ai didi

.NET TreeView : How to prevent unchanged child nodes from being redrawn?

转载 作者:行者123 更新时间:2023-12-04 09:40:53 24 4
gpt4 key购买 nike

我在 .NET 2010 中使用 WinForms。我创建了一个继承自 Treeview 的用户控件,并且我正在为我的树节点的文本部分使用所有者绘图。

现在我必须解决一个奇怪的性能问题:

当树节点(我称之为“父节点”)的文本发生变化时, TreeView 控件会为每个“父节点”的子节点触发 DrawNode 事件,无论它们是否可见!!!

这对我的应用程序造成了很大的性能问题。如何防止 treeview 控件为每个子节点触发 DrawNode 事件?

非常感谢您的帮助!

最佳答案

我没有为此得到出色的重现,它只会为可见节点生成 DrawNode 事件。但是,我确实看到它为父节点折叠的子节点生成 DrawNode 事件。您可以像这样过滤那些:

    private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) {
if (e.Bounds.Height == 0) return;
// etc..
}

关于.NET TreeView : How to prevent unchanged child nodes from being redrawn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915525/

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