2011-04-23 95 views
3

我做了1366x768分辨率的應用程序,它是我的筆記本電腦目前的分辨率,作爲一個初學者,我din't有關決議護理的問題。創建分辨率獨立的winform,對C#WinForm的設置分辨率,讓屏幕分辨率在其上的winform運行

,當我把該應用程序並執行其較低的分辨率PC上,然後一切都搞砸了。形式正在其他地方,大部分隱藏。

所以,請幫我如何使我的獨立的WinForm的決議,或如何得到當前屏幕分辨率,並使其相應地改變自己設置成我的winform。

回答

4

屬性

Screen.PrimaryScreen.WorkingArea 

爲形式的大小和位置是非常有用的。 例如這樣的代碼:

 this.Width = Screen.PrimaryScreen.WorkingArea.Width/2; 
     this.Height = Screen.PrimaryScreen.WorkingArea.Height/2; 
     this.Top = (Screen.PrimaryScreen.WorkingArea.Top + Screen.PrimaryScreen.WorkingArea.Height)/4; 
     this.Left = (Screen.PrimaryScreen.WorkingArea.Left + Screen.PrimaryScreen.WorkingArea.Width)/4; 

(Screen類是System.Windows.Forms命名空間中的成員)

將放置在其中它是在屏幕和大小它的中間執行的形式到屏幕的一半。

的WorkingArea VAR用來計算屏幕的大小時要排除的東西,如任務欄和桌面上的其他停靠項。

希望這會有所幫助。

+0

你爲什麼要加入這樣的代碼時,你可以通過設置形式「中StartPosition」屬性來完成中心屏幕完全相同的事情,並WindowsState到最大化? – 2013-12-23 15:48:49

+0

@ScopeCreep,你確定OP想要一個最大化的表單嗎?我的代碼只能佔用屏幕的一部分 – Neowizard 2013-12-30 17:03:39