我有一个Windows窗体,我在c#代码中添加了许多LinkLabel。 我遇到的问题是,当显示表单时,它会逐渐从上到下淹没在屏幕上。但我希望它突然而快速地出现。我该怎么办? 我甚至试过这个,但没有帮助: 我将可见性设置为false。然后用所有标签填写表格。然后叫这个节目。
(我new()和show()我的表单在另一种形式的标签的MouseEnter事件中。)
编辑:我也尝试过DoubleBuffer。没有帮助。 我应该注意,我不在乎整个表格是否有延迟。我只想让它一下子出现。因为在我的情况下,一点延迟是不可避免的。导致从网络检索数据。
提前致谢。
答案 0 :(得分:4)
作为猜测,请尝试在表单上设置DoubleBuffered = true
。这应该是在将整个表面绘制到屏幕上之前将其渲染到内存缓冲区。但是,更好的解决方案是找出导致表单渲染速度变慢的原因。除非在UI线程中发生很多逻辑,否则表单通常是不可察觉的。
答案 1 :(得分:2)
您需要对自己的应用进行分析,其中一些可能的原因可能是:
加载期间的密集数据填充量(可以通过控件数量减少,需要显示,加载或在另一个线程中运行的数据量)
对视图的控制太多(只是在TabControl的不同TabPages中组织它们。如果控制太多,请避免使用它们,因此没有任何用户需要它们都是当代的。< / p>
最后也是最重要的一点:SuspendLayout
()/ ResumeLayout
()在加载和最后的结合中。
希望这有帮助。
答案 2 :(得分:0)
一个想法:
也许将您的所有LinkLabel
放在Panel
上,将Panel
的{{1}}设置为Dock
,然后添加{{1}转到Fill
。