2011-08-24 52 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

相關問題