2010-01-25 58 views
3

我有在Visual Studio 2008年我加入了树形视图我的形式,在运行时的数据加载它,然后最后一个对象在列表中的树视图的问题最终比滚动条走得更远。查看此对象的唯一方法是打开其他节点之一并关闭它。有没有人知道避免这个问题的方法?无法看到的最后一个节点在一个TreeView

+1

它利用css吗? – Younes 2010-01-25 15:21:00

+0

你在排序方面有很多成功吗? – Ian 2010-01-27 14:55:47

+1

是的,SuspendLayout()和ResumeLayout()工作。我还在ResumeLayout()之后的SuspendLayout()和EndUpdate()之前使用了BeginUpdate()。 – norlando 2010-01-28 14:31:01

回答

3

没有见过这种行为,听起来像它可能是一个绘图问题。你能张贴一些代码来证明你在做什么来确保没有什么疯狂的事情发生吗?

有一件事我可能会建议尝试是调用treeview.SuspendLayout()和ResumeLayout()一旦您已加入的节点。看看这是否有所作为。

编辑

看准了这一点Issue

建议修正为:

我)禁用视觉样式。
ii)将一个空节点添加到列表的末尾。

+0

我喜欢SuspendLayout和ResumeLayout的想法。我看了一下,并没有在加载TreeView的代码段中完成,它没有显示所有节点,而是在加载列表的应用程序的另一部分完成。我还没有尝试过,但我会尝试在有机会的时候添加它。 – norlando 2010-01-25 19:50:26

+0

通常,如果您将很多节点添加到树视图中,它会略微提高性能,并且我认为它可以防止它在每个节点之后进行绘制,从而减少闪烁。 – Ian 2010-01-26 09:01:46

+2

SuspendLayout和ResumeLayout工作。 – norlando 2010-01-28 14:32:34

相关问题