2010-10-18 187 views
1

我有一个表格,其中有TableLayoutPanel停靠在它上面,并且TextBox,Image,TreeViewListView在那Panel之内。C#调整大小问题

当用户调整窗体大小时,这些控件会随之调整大小,但如果用户快速调整大小或用户最大化整个窗体,则会有明显的延迟;延迟是如此可观,我是能够截图吧:

screenshot

你也可以看到,“选项”按钮时,显示两次,一次是在它应该是(在上右上角)并且一次在搜索框的中间(调整表单之前)。这不应该发生,但也是由延迟造成的。

截图截图后不久,表单看起来不错,但有谁知道一种方法来消除或减少这种延迟?

我编辑图像的隐私原因,但只有60左右的项目在列表视图。

+0

TableLayoutPanel本身很慢。很多人都遭受同样的痛苦:) – honibis 2010-10-18 13:02:37

回答

1

你有任何特殊的代码处理重绘?

如果是的话,您是否使用BeginUpdate()方法和EndUpdate()方法?

msdn

防止从图纸直到EndUpdate方法被称为控制。

这些方法(取决于您的情况)可能导致组件在更改大小后才能更新。这可能会阻止项目在屏幕上出现两次,并加快调整大小。

0

也许你在你的列表视图中有虚拟物品,并且你的物品正在缓慢地重新计算?你有任何代码,当listview需要重绘时运行吗?