C#调整大小问题

时间:2010-10-18 12:05:21

标签: c# winforms listview resize

我有一个表格,TableLayoutPanel停靠在其中,TextBoxImageTreeViewListView位于该Panel内}。

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

screenshot

您还可以注意到“选项”按钮显示两次,一次显示(位于右上角),一次显示在搜索框中间(表单调整大小之前)。这不应该发生,但也是由延迟引起的。

在拍摄此截图后不久,该表单看起来很好,但有没有人知道消除或减少此延迟的方法?

我出于隐私原因编辑了图片,但列表视图中只有60个左右的项目。

2 个答案:

答案 0 :(得分:1)

您是否有处理重绘的特殊代码?

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

来自msdn

  

在调用EndUpdate方法之前阻止控件绘制。

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

答案 1 :(得分:0)

也许你的列表视图中有虚拟物品,你的物品会慢慢重新计算?当listview需要重绘时,你有没有运行的代码?