我有一个表格,TableLayoutPanel
停靠在其中,TextBox
,Image
,TreeView
和ListView
位于该Panel
内}。
当用户调整表单大小时,这些控件会随之调整大小,但如果用户快速调整大小或者用户最大化整个表单,则会有明显的延迟;延迟是如此可观,我能够截图:
您还可以注意到“选项”按钮显示两次,一次显示(位于右上角),一次显示在搜索框中间(表单调整大小之前)。这不应该发生,但也是由延迟引起的。
在拍摄此截图后不久,该表单看起来很好,但有没有人知道消除或减少此延迟的方法?
我出于隐私原因编辑了图片,但列表视图中只有60个左右的项目。
答案 0 :(得分:1)
您是否有处理重绘的特殊代码?
如果是,您是否使用BeginUpdate()
方法和EndUpdate()
方法?
来自msdn:
在调用EndUpdate方法之前阻止控件绘制。
这些方法(取决于您的具体情况)可能会导致组件在调整大小后才会更新。这可能会停止在屏幕上出现两次的项目并加快调整大小。
答案 1 :(得分:0)
也许你的列表视图中有虚拟物品,你的物品会慢慢重新计算?当listview需要重绘时,你有没有运行的代码?