在我的应用程序中,我有一个在后台线程上运行的任务.当在UI线程中显示MessageBox或任何模态对话框时,我需要在后台线程中发出通知.
虽然我可以通过在显示MessageBox之前调用某个函数来手动完成它,但是如果我不需要它会很棒.
例如:
backgroundThread.MessageShown(); // I do not want to call this explicitly every time!
MessageBox.Show("Task halted!");
Run Code Online (Sandbox Code Playgroud)
我猜我可能会有一些信息可以挂钩.即使在主GUI线程中,是否有任何消息/事件在显示模式对话框之前被触发?
好的,这是要求.我有一些在UI线程上完成的任务,我必须在一个单独的对话框上显示进度,该对话框已在工作线程上显示.我知道它应该是必须在工作线程上完成的任务,但目前的情况暂时无法改变.
除了一个小故障外,每件事情都运行良好 - 如果UI线程中显示了一个消息框,它将隐藏在进度对话框下方.因此,用户永远不会知道UI正在等待输入.我需要一种方法来通知已显示模式对话框,我应该隐藏进度对话框.
现在,我必须在每次调用MessageBox之前显式隐藏它.
我希望这可以解释.
| 归档时间: |
|
| 查看次数: |
2534 次 |
| 最近记录: |