J3s*_*oon 6 c# wpf multithreading
我试图表现出MessageBox
从另一个Thread
使用Dispatcher.Invoke
.
在MessageBox
没有露面.但是没有点击OK
按钮MessageBox
,我仍然可以控制主窗口.
我在想是否有办法在点击OK
按钮之前阻止主窗口输入?
任何帮助表示赞赏.
我到目前为止的代码:
void ShowError(String message) //I call this function in another thread
{
if (this.Dispatcher.CheckAccess())
MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
else
{
this.Dispatcher.Invoke(
new Action(() =>
{
MessageBox.Show(message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}));
}
}
Run Code Online (Sandbox Code Playgroud)
保证消息框阻止窗口的唯一方法是将窗口传递到消息框.
void ShowError(String message, Window windowToBlock) //I call this function in another thread
{
if (this.Dispatcher.CheckAccess())
MessageBox.Show(windowToBlock, message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
else
{
this.Dispatcher.Invoke(
new Action(() =>
{
MessageBox.Show(windowToBlock, message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}));
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1364 次 |
最近记录: |