2013-04-12 66 views
3

是否可以確定窗體所在的屏幕?不是位置或大小!vb.net確定屏幕

我用

Dim myScreens() As Screen = Screen.AllScreens 

Me.Left = (myScreens(0).WorkingArea.Width - Me.Size.Width)/2 
Me.Top = (myScreens(0).WorkingArea.Height - Me.Size.Height)/2 

到現在的位置的表。當用戶將表單重定位到另一個屏幕上時,我想要保存那個新屏幕的位置!

+1

小心這個!通過在不再存在的監視器上顯示錶單很容易出錯。您需要驗證是否讀取保存的值並將表格恢復到之前的位置。如果它不在屏幕上,則需要恢復到默認位置。 –

回答

6

是的,請使用Screen.FromControl(Me)

檢索包含指定控件的最大部分的顯示的屏幕。

+0

不錯,謝謝完美! – Markus

+0

WPF呢?有沒有一種方法可以在不參考winforms的情況下獲得屏幕? – beppe9000

+0

這個問題已經[在這裏問了](http://stackoverflow.com/questions/2465646/how-do-i-know-what-monitor-a-wpf-window-is-in),其中答案似乎是「不」,對不起。 – Blorgbeard