2014-08-31 20 views
0

我有一個Winforms應用程序作爲一個警報系統,然而很多將使用我的程序的人將有多個屏幕。警報對時間敏感,所以理想情況下我希望它們出現在所有屏幕上,或者能夠指定屏幕,因此用戶更有可能注意到它。默認情況下,消息框出現在主屏幕上,我無法找到有關winforms和不同顯示器的任何信息。WinForms MessageBox出現在所有屏幕上,或指定主要或次要等。

如果還有另一個winform函數可以做同樣的功能,但是多屏幕會很棒,那甚至不需要是消息框。

在旁邊注意是否有可能關閉多個消息框,只有1個被接受?

+0

如何使用*丁* + http://stackoverflow.com/questions/11309827/window-application-flash-like-orange-on-taskbar-when-minimize – 2014-08-31 21:51:20

+0

這是偉大的,我最終希望合併這個,但是警報是/否是單擊是然後執行任務,所以彈出窗口非常重要,作爲向用戶顯示是/否選項的一種手段。我也在考慮將它製作成Steam/Skype風格的角落滑動消息框,但不確定他們是否注意足夠多。 – bob 2014-08-31 22:23:06

+0

順便說一句:你仍然可以選擇創建一個自定義窗體並將'TopMost'屬性設置爲true。 – 2014-08-31 22:29:15

回答

1

我認爲最簡單的做法是創建一個自定義表單,而不是使用現有的消息框。這樣,您可以使用Show方法而不是ShowDialog。這將允許您顯示多個表單並從一個響應中關閉所有表單。

至於把它們放在多個屏幕上:你可以找到現有的屏幕System.Windows.Forms.Screen.AllScreens。其中每一個都有一個Bounds屬性,它會告訴你每個屏幕的座標和大小。創建每個自定義表單後,您可以指定它的Location屬性以將其置於您選擇的屏幕上。

+0

對不起,以前沒有收到,但這正是我需要做的。使用表單窗口而不是消息框是完美的,謝謝。 – bob 2014-09-02 13:47:50

相關問題