我想让消息框在所有窗口前弹出,以便用户看到它。我有以下代码,但它似乎把消息框放在后面。控制台应用程序中所有窗口前的消息框?
DialogResult dlgResult = MessageBox.Show(new Form() { TopMost = true }, "Do you want to continue?", "Continue?",
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dlgResult == DialogResult.Yes)
{
Console.WriteLine("YES");
}
else if (dlgResult == DialogResult.No)
{
Console.WriteLine("NO");
}
上述代码在一个线程中运行是我的问题,我将如何解决这个问题?
谢谢
[叹息]不要。重要的是你的特定消息框可能是,这不是更重要,那么用户决定什么是此刻最重要的应用程序。此外,如果用户正在输入电子邮件并且弹出消息框并窃取了键盘焦点,则用户有50%的机会可以做出他们后悔的事。 – 2010-07-29 16:29:20
这是重点。当用户从另一个应用程序调用它时,用户会期望弹出消息。无论如何,谢谢你的建议。 – arbme 2010-07-29 16:33:35
使用FlashWindowEx(http://msdn.microsoft.com/en-us/library/ms679347(VS.85).aspx)而不是将消息框推到顶部并窃取键盘焦点。 – 2010-07-29 16:37:39