在所有屏幕上显示winforms MessageBox,或者指定Main或Secondary等

本文关键字:或者 Main Secondary MessageBox 屏幕 winforms 显示 | 更新日期: 2023-09-27 18:20:06

我有一个winforms应用程序,它可以作为警报系统,但许多使用我的程序的人都会有多个屏幕。警报是时间敏感的,所以理想情况下,我希望它们出现在所有屏幕上,或者能够指定一个屏幕,这样用户更有可能注意到它。默认情况下,消息框显示在主屏幕上,我找不到任何与winforms和不同监视器有关的信息。

甚至不必是一个消息框,如果有另一个winform函数可以做同样的功能,但也可以做多个屏幕,那就太好了。

顺便说一句,是否可以从只接受1个消息框中关闭多个消息框?

在所有屏幕上显示winforms MessageBox,或者指定Main或Secondary等

我认为最简单的方法是创建一个自定义表单,而不是使用现有的消息框。这样就可以使用Show方法而不是ShowDialog方法。这将允许您显示多个表单,并从一个响应中关闭所有表单。

至于将它们放置在多个屏幕上:您可以使用System.Windows.Forms.Screen.AllScreens找到现有的屏幕。每一个都有一个Bounds属性,它将向您显示每个屏幕的坐标和大小。创建每个自定义表单后,您可以指定它的Location属性,将其放置在您选择的屏幕上。

相关文章: