我做了1366x768分辨率的应用程序,它是我的笔记本电脑目前的分辨率,作为一个初学者,我din't有关决议护理的问题。创建分辨率独立的winform,对C#WinForm的设置分辨率,让屏幕分辨率在其上的winform运行
,当我把该应用程序并执行其较低的分辨率PC上,然后一切都搞砸了。形式正在其他地方,大部分隐藏。
所以,请帮我如何使我的独立的WinForm的决议,或如何得到当前屏幕分辨率,并使其相应地改变自己设置成我的winform。
我做了1366x768分辨率的应用程序,它是我的笔记本电脑目前的分辨率,作为一个初学者,我din't有关决议护理的问题。创建分辨率独立的winform,对C#WinForm的设置分辨率,让屏幕分辨率在其上的winform运行
,当我把该应用程序并执行其较低的分辨率PC上,然后一切都搞砸了。形式正在其他地方,大部分隐藏。
所以,请帮我如何使我的独立的WinForm的决议,或如何得到当前屏幕分辨率,并使其相应地改变自己设置成我的winform。
在这里看到:http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/1be40692-80fa-42ba-b316-9fe13a935b4f/这里:http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/d5f2cd8d-d24d-4574-ba3a-96e22e3d1b56/
一般的方法是先从最小分辨率您将与合作。然后你可以调整你的表格(使用适当的对接和锚点)。
属性
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用来计算屏幕的大小时要排除的东西,如任务栏和桌面上的其他停靠项。
希望这会有所帮助。
你为什么要加入这样的代码时,你可以通过设置形式“中StartPosition”属性来完成中心屏幕完全相同的事情,并WindowsState到最大化? – 2013-12-23 15:48:49
@ScopeCreep,你确定OP想要一个最大化的表单吗?我的代码只能占用屏幕的一部分 – Neowizard 2013-12-30 17:03:39