我正在使用标准.Net数据绑定从SQL Server类型化的DataSet编写简单的数据UI。在非UI线程上运行模态对话框
我有一个重新加载按钮,在所有DataAdapter上调用Fill
从数据库中获取新数据(以防其他用户更改数据)。
这需要一段时间,在此期间UI被冻结。它必须在UI线程上运行,或者数据绑定事件处理程序抛出跨线程异常。
我想在UI线程连接到数据库时在后台线程上显示模式“请稍候”对话框(以便可以动画化)。
如何在非UI线程上显示模态对话框?
编辑:我知道,最好的做法是在后台运行的操作,但我不能这样做,因为数据绑定事件。
正如我在问题中解释的那样,我不能。我很清楚这是最佳做法。 – SLaks 2009-11-08 19:52:40
我想你还是可以的。这只是意味着后台线程不应该直接更新数据。检索它们,将它们打包并委托给主线程来更新UI – mfeingold 2009-11-08 20:00:27
我理解你的困境,但我仍然认为我的建议比替代方案更好(更少麻烦) – mfeingold 2009-11-08 20:02:27