c# – 在非UI线程上运行模式对话框
发布时间:2020-12-15 04:12:22 所属栏目:百科 来源:网络整理
导读:我正在编写一个简单的数据UI,使用标准的.Net数据绑定到SQL Server的类型化DataSet. 我有一个重新加载按钮,它调用所有DataAdapter上的Fill来从数据库中获取新数据(如果另一个用户更改了数据). 这需要一些时间,在此期间UI被冻结.它必须在UI线程上运行,或者数据
我正在编写一个简单的数据UI,使用标准的.Net数据绑定到SQL Server的类型化DataSet.
我有一个重新加载按钮,它调用所有DataAdapter上的Fill来从数据库中获取新数据(如果另一个用户更改了数据). 这需要一些时间,在此期间UI被冻结.它必须在UI线程上运行,或者数据绑定事件处理程序抛出跨线程异常. 我想在UI线程连接到数据库时在后台线程上显示模式“Please Wait”对话框(以便可以设置动画). 如何在非UI线程上显示模式对话框? 编辑:我知道最好的做法是在后台运行操作,但由于数据绑定事件,我不能这样做. 解决方法
你应该做相反的事情.在后台线程上运行长时间运行的进程,让UI线程自由响应用户操作.
如果要在处理过程中阻止任何用户操作,则可以使用多种选项,包括模态对话框.后台线程完成处理后,您可以通知主线程有关结果 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |