Mik*_*Dub 71
我尝试了donutboy提供的解决方案,它似乎不接受0x40000(或40000)作为MessageBoxOptions枚举值的有效选项.
但是我发现使用MessageBoxOptions.DefaultDesktopOnly具有相同的效果,并将MessageBox保持在最顶层,直到用户确认.即.
MessageBox.Show("Hello there", "Prompt", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
Run Code Online (Sandbox Code Playgroud)
这可能是最简单的原生解决方案.
小智 26
没有创建新表单,有一个更好的解决方案.
MessageBox.Show("Message Text", "Header", MessageBoxButtons.OK, MessageBoxIcon.None,
MessageBoxDefaultButton.Button1, (MessageBoxOptions)0x40000); // MB_TOPMOST
Run Code Online (Sandbox Code Playgroud)
0x40000是"MB_TOPMOST"-Flag.
Dav*_*ave 13
处理这个的另一个简单方法:
MessageBox.Show(new Form { TopMost = true }, "This is TopMost", "TopMost", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Run Code Online (Sandbox Code Playgroud)