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

前端之家收集整理的这篇文章主要介绍了c# – 在非UI线程上运行模式对话框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个简单的数据UI,使用标准的.Net数据绑定到sql Server的类型化DataSet.

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

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

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

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

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

解决方法

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

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

猜你在找的C#相关文章