我正在使用.NET 2010中的WinForms。我创建了一个继承自Treeview的用户控件,我正在使用所有者绘图作为我的treenodes的文本部分。
现在我必须解决一个奇怪的性能问题:
当treenode的文本(我称之为“parentnode”)发生变化时,treeview控件会为每个“parentnodes”的子节点触发DrawNode事件,无论它们是否可见!!! p>
这对我的应用程序造成了很大的性能问题。如何阻止treeview控件为每个子节点触发DrawNode事件?
请您提前帮忙!
答案 0 :(得分:2)
我没有为此获得一个明星的重复,它只为可见节点生成DrawNode事件。但是,我确实看到它为父节点折叠的子节点生成DrawNode事件。您可以过滤以下内容:
private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) {
if (e.Bounds.Height == 0) return;
// etc..
}