【发布时间】:2011-10-14 18:00:50
【问题描述】:
有什么方法可以暂停 Winforms 中的所有 UI 更新命令?
或者我有一种轻微的感觉,我正试图以完全错误的方式解决这个问题,那么是否有另一种方法可以解决我的问题:我基本上加载了一个控件的保存状态,它会在它上面加载新的控件。但是,我在 UI 线程中执行了其中的一些操作,并从另一个线程加载了一些数据,然后填充了 UI。
所以我在加载时的效果是用户可以看到一些控件出现在一个地方,然后移动到表单上的另一个地方,改变值等等。
我想要一个加载屏幕而不是这个,并在后台加载控件。这是一个相当大的应用程序,它并不那么重要,所以重新设计我的代码并不是一个真正的选择。
我可以在方法执行时简单地停止控件上的所有 Update() 命令吗?
【问题讨论】:
-
我的建议 - 渲染时不要显示表单。如果您冻结 UI,用户可以看到空表单,并且在一段时间后会出现所有控件。
-
没关系,抱歉我没有解释这一点。默认表单包含此控件的空白版本,然后用户可以拖动控件并选择某些选项、添加新控件等,然后将控件的状态保存到 XML。此问题适用于用户决定打开现有文件的情况。