2011-08-24 48 views
0

我在WinForm应用程序中获取我的内容以正确调整大小以适应任何屏幕分辨率有问题,我该如何解决?Winforms和内容在任何分辨率上运行

我用

this.Location = new Point(0, 0); 
this.Size = Screen.PrimaryScreen.WorkingArea.Size; 

形式的大小根据计算机的分辨率更改成功,但内容则没有。

+1

你有没有停靠所有控件? –

+0

不,这会有帮助吗? –

+1

是的..如果对接正确,控件将调整大小以适应表格大小 –

回答

5

WinForms表单内部的控件不会根据表单的大小进行更改。文本框,单选按钮等基于特定的像素大小,并且不会因分辨率而异。

您必须开发您的表单才能使用不同的分辨率。您将需要使用适当设置DockStyle的大量面板。您可以隐藏不适合的面板(尽管您可能需要提供另一种方式才能找到它们)。

如果你需要它根据分辨率进行更改,你可能想看看WPF。

+0

在Wpf上它与WinForms一样。区别在于dock属性在wpf中很容易使用。 – icaptan

+0

我并不真正了解XAML,但据我了解,您可以添加缩放变换,这将允许您更改控件的大小。这是一个SO问题,询问它:http://stackoverflow.com/questions/850554/zoom-control-to-wpf-form – Brian

3

对于winforms DockAnchor属性可以帮助你。但它们并不像WPF的新功能那样强大(例如:viewBox)。容器如SplitContainer和面板可以使用Dock属性正确调整大小。但是没有简单的+很好的方法来调整按钮,标签等子控件的大小。这些子控件也支持Dock/Anchor属性。

下面是一些有用的文章供大家参考。

Article 1

Article 2

相关问题