在应用程序运行的同一屏幕上显示(弹出)消息框

时间:2019-03-28 14:29:56

标签: c# winforms messagebox

我正在使用c#winforms应用程序。我正在积极与2个显示器(即主要和次要)一起工作。当我运行该应用程序时,无论我运行该应用程序的监视器是什么,消息框总是在主监视器上弹出。

下面显示的是我尝试的两种方法,但是在主监视器上会弹出“消息框”:

1。

MessageBox.Show("Test Success", "Success", MessageBoxButtons.OK, 
MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, 
MessageBoxOptions.ServiceNotification);

2。

MessageBox.Show("Test Success", "Success", MessageBoxButtons.OK, 
MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, 
MessageBoxOptions.DefaultDesktopOnly);

有什么方法可以在我动态运行应用程序的监视器上显示消息框?

1 个答案:

答案 0 :(得分:1)

如评论中所述:请勿指定MessageBoxOptions。像这样简单地称呼它:

MessageBox.Show("Test Success", "Success", MessageBoxButtons.OK, 
                MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);

,它将与您的应用程序显示在同一监视器上,就在它的前面。

  

我想在我打开的任何其他应用程序的顶部显示消息框。

然后,您应该将调用MessageBox的Form强制显示在表面上。在显示消息框之前调用此命令:

this.TopMost = true;
MessageBox.Show(...