2011-02-14 196 views
1

我想在约20行显示一些文本数据。每行可以比表单的大小更长。在这种情况下,该线的其余部分应该被切掉。c# - 快速ListBox数据更新

我不想有任何h或v滚动条。

由于ListBox控件可以处理我的需求,我尝试过使用它。一切工作正常,但如果我有一个沉重的磁盘负载可能会发生,控制开始闪烁,我不认为这是必须的。我每秒更新一次数据,并且总是少于20行的文本数据。似乎我使用ListBox错误。

我有可能在另一个线程中将数据准备为字符串或字符串数​​组,但在每种情况下都必须更新整个ListBox。哪种技术最适合用ListBox填充数据?我可以有两个缓冲区,我可以切换到ListBox使用?

希望有一个更好的解决办法...

回答

2

在向ListBox添加数据之前,尝试调用SuspendLayout(),然后在ListBox上调用ResumeLayout()。你可能会失去一点闪烁。

+0

我会试试这个......谢谢! – fpdragon 2011-02-14 11:47:23

0

你既可以创建一个数据绑定,然后只更新绑定,应该更好地工作。 一个便宜的方法是改变列表框的可见性,并使其在开始时不可见,并在结束时可见。便宜,但应该工作。 ;)

+0

现在我正在使用两个数据绑定,每次数据更改时都会切换。似乎这个数据绑定开关会使控制闪烁。你的意思是什么意思? 2个相同的控件重叠并切换顶部控件的可见性?似乎非常便宜。无论如何谢谢你! – fpdragon 2011-02-14 11:46:22