应用程序启动时,对话框延迟/未完全显示2秒
本文关键字:显示 2秒 延迟 启动 对话框 应用程序 | 更新日期: 2023-09-27 17:59:20
我是Winforms开发的新手,我还没有看到Stackoverflow的解决方案,但可能错过了。
我出现了一个对话框,但由于应用程序启动处理,它在前2秒左右只显示了一半(即显示边框和背景,除非显示控件)。控制位置为白色,直到在最初的2秒钟后显示控制为止。
我知道我可以在应用程序启动时延迟,但我更喜欢在战略位置使用Suspend()
/Resume()
对。我试过放入load事件,但没有效果。此外,看起来Refresh()
中断了Suspend/Resume。由于我想在应用程序的其他地方也使用此策略,因此这些想法值得赞赏。我想知道有什么方法可以适用于这个和其他闪烁严重的区域(或者在完全显示之前直接显示长时间延迟,如所述的启动对话框)。
尝试将长时间运行的代码放在Load
事件处理程序中。通过将它放在Shown
事件处理程序中,它会导致表单冻结,直到它完成加载,因为显示的事件处理程序不允许消息循环中的其他事件(例如Paint
事件)得到处理。至少如果你把它放在Load
事件中,那么所有长时间运行的代码都会在显示之前出现。
如果您不喜欢任何延迟,可以考虑将长时间运行的代码放在Shown
事件中启动的计时器中。
如果您想在长时间运行的代码中获得更高级的功能,那么总有BackgroundWorker
。