是否有可能在主屏幕上显示MessageBox
,而不一定在运行应用程序的屏幕上显示?{/ p>
答案 0 :(得分:5)
您可以尝试MessageBoxOptions.DefaultDesktopOnly
:
MessageBox.Show("Hello World", "Caption", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
对我来说效果很好,但不会使用默认的Windows视觉样式呈现消息框。
答案 1 :(得分:1)
没有一种简单的方法可以做到,但这是一种方式:
首先创建一个非常小(1x1)的窗体或窗口。确保在主显示屏上打开此表单。您可以使用Screen对象获取主要显示尺寸。确保设置表单的属性,使其不显示在任务栏中。
然后调用Messagebox.Show并将Form.Handle传递给show方法。这告诉系统在该对象前面显示消息框。 https://msdn.microsoft.com/en-us/library/cked7698(v=vs.110).aspx
最后,请确保在显示调用后立即关闭您打开的表单,以便它不会创建僵尸表单。