2011-04-23 90 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