c# – 在非UI线程上运行模式对话框

我正在编写一个简单的数据UI,使用标准的.Net数据绑定到sql Server的类型化DataSet.

我有一个重新加载按钮,它调用所有DataAdapter上的Fill来从数据库获取新数据(如果另一个用户更改了数据).

这需要一些时间,在此期间UI被冻结.它必须在UI线程上运行,或者数据绑定事件处理程序抛出跨线程异常.

我想在UI线程连接到数据库时在后台线程上显示模式“Please Wait”对话框(以便可以设置动画).

如何在非UI线程上显示模式对话框?

编辑:我知道最好的做法是在后台运行操作,但由于数据绑定事件,我不能这样做.

解决方法

你应该做相反的事情.在后台线程上运行长时间运行的进程,让UI线程自由响应用户操作.

如果要在处理过程中阻止任何用户操作,则可以使用多种选项,包括模态对话框.后台线程完成处理后,您可以通知主线程有关结果

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么