2012-05-02 52 views
2

如何在第二臺顯示器上顯示SplashScreen?現在它只顯示在主監視器上,但應用程序從輔助監視器上啓動。如何在第二臺顯示器上顯示SplashScreen?

+0

我想你的意思是如何在啓動應用程序的相同監視器上顯示啓動畫面,或者如何檢測應用程序將啓動的監視器? – Rup

+1

WPF SplashScreen類大量使用pinvoke來儘可能快地顯示圖像。本地窗口位置是硬編碼的,位於主監視器的中心。沒有什麼可以調整來改變這一點。因此,除了放棄SplashScreen外,唯一體面的解決方法是讓您的主窗口也顯示在主顯示器上。 –

回答

0

檢出System.Windows.Forms.Screen類。 您可以使用Screen.GetWorkingArea()獲取當前顯示,然後根據此設置啓動畫面的位置。 Screen.FromControl()Screen.AllScreens也可能有用。

1

你可以在啓動畫面的WindowStartupLocation屬性中使用'Screen'類(我假設你爲此使用了一個Window)。

像:

Window someWindow = new SomeWindow(); 
someWindow.WindowStartupLocation = WindowStartupLocation.Manual; 
someWindow.Left = Screen.AllScreens[1].Bounds.Left; 
someWindow.Top = Screen.AllScreens[1].Bounds.Top; 

如果需要的話你可以自己ofcourse居中。以屏幕高度和窗口高度計算中心。

相關問題