创建独立于分辨率的winform,为C#winform设置分辨率,获取winform运行的屏幕分辨率

时间:2011-04-23 06:32:11

标签: c# .net winforms resolution screen-resolution

我在1366x768分辨率上做了一个应用程序,这是我笔记本电脑目前的分辨率,作为初学者,我不在乎解决问题。

当我拿到那个应用程序并在较低分辨率的PC上执行它时,一切都搞砸了。表格在其他地方,其中大部分隐藏。

所以,请帮助我如何使我的winform分辨率独立,或者如何获得当前的屏幕分辨率并将其设置为我的winform,以便相应地改变自己。

2 个答案:

答案 0 :(得分: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用于在计算屏幕大小时排除桌面上的任务栏和其他停靠项等内容。

希望这有帮助。

答案 1 :(得分:3)

请参见此处: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/

一般方法是从您将要使用的最小分辨率开始。然后你可以扩展你的表格(使用适当的对接和锚点)。