MessageBox位于所有线程的顶部

时间:2013-10-07 10:39:37

标签: c# winforms messagebox

当应用程序启动时,将从另一个线程显示启动画面。 但是,如果在启动期间出现错误 - 将显示消息框。问题是:消息框显示在启动下。我使用过IWin32Window所有者属性,甚至尝试使用MessageBoxOptions.DefaultDesktopOnly属性,但id没有帮助。

我该如何处理这种情况?

PS: 试图创建隐形窗口,设置TopMost - 并显示MessageBox。没用。

1 个答案:

答案 0 :(得分:1)

我使用多线程创建了类似的情况,并使用此代码将MessageBox保持在窗口的顶部。基本上这段代码使消息框成为最顶层。

MessageBox.Show(this,
    "Your text",
    "Settings Needed",
    MessageBoxButtons.YesNo,
    MessageBoxIcon.Question,
    MessageBoxDefaultButton.Button1,
    (MessageBoxOptions)0x40000); // this is MB_TOPMOST flag