【问题标题】:Problems seeing the last node in a TreeView在 TreeView 中查看最后一个节点时出现问题
【发布时间】:2011-01-09 03:27:16
【问题描述】:

我在 Visual Studio 2008 中遇到了 TreeView 的问题。我将 TreeView 添加到我的表单中,在运行时用数据加载它,然后列表中的最后一个对象最终比滚动更远酒吧会去的。查看此对象的唯一方法是打开其他节点之一并将其关闭。有谁知道避免这个问题的方法吗?

【问题讨论】:

  • 是否使用了css?
  • 你对这个排序成功了吗?
  • 是的,SuspendLayout() 和 ResumeLayout() 有效。我还在 SuspendLayout() 之前使用了 BeginUpdate(),在 ResumeLayout() 之后使用了 EndUpdate()。

标签: c# visual-studio-2008 .net-3.5 treeview


【解决方案1】:

以前没有见过这种行为,听起来可能是绘图问题。你能发布一些代码来展示你正在做什么以确保没有发生任何疯狂的事情吗?

我可能建议尝试的一件事是在添加节点后调用 treeview.SuspendLayout() 和 ResumeLayout()。看看这有什么不同。

编辑

发现了这个Issue

修复的建议是:

i) 禁用视觉样式。
ii) 在列表末尾添加一个空节点。

【讨论】:

  • 我喜欢你对 SuspendLayout 和 ResumeLayout 的想法。我看了看,这不是在加载不显示所有节点的 TreeView 的代码部分中完成的,而是在加载列表的应用程序的另一部分中完成的。我还没有尝试过,但我会在有机会的时候尝试添加。
  • 一般来说,如果你向树视图添加很多节点,它有助于稍微提高性能,我认为它可以防止它在每个节点之后绘制,从而减少闪烁。
  • 真的吗?一旦我发现这是一个问题,我没想到它会真正起作用。如果是这样,您应该按照问题的链接并将其发布为解决方法:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
相关资源
最近更新 更多