2016-09-16 121 views
2

我正在研究用C#編寫的.NET 3.5桌面應用程序。這是複雜的用戶界面動態填充。其中的一部分是包含在FlowLayoutPanel中的以下組框,FlowLayoutPanel包含在UserControl中。該圖是在設計視圖採取:如何防止WinForm控件伸展並保持固定大小

enter image description here

當我啓動應用程序,所有控制被拉伸:

enter image description here

即使我固定每個用戶控件的大小時的寬度Load UserControl的事件被調用。組框內所有控件的AutoSize屬性爲false。

爲什麼會發生這種情況,以及如何防止這種情況?我希望UI看起來和設計視圖完全一樣。

編輯

的最佳答案this question並沒有解決我的問題。首先,將邊框樣式設置爲FixedX會產生不合需要的邊框。其次,內部控制仍然擴大,並被邊界限制。

+1

爲什麼在不希望控件流動時使用流佈局面板?表格佈局面板不會更合適嗎?或者甚至只是一個有錨的正常小組? – Luaan

+0

我需要流佈局面板,因爲此組框頂部的流佈局面板中有另一個面板。該面板需要根據用戶輸入隱藏。在這種情況發生時,我需要將該面板下方的所有控件向上移動。 – Donotalo

+0

[c#如何防止用戶調整我的應用程序窗口的大小?](http://stackoverflow.com/questions/3750804/c-sharp-how-to-prevent-user-from-resizing-my-application-window) – Mafii

回答

3

AutoScaleMode 「繼承」爲所有兒童用戶的控制。

0

設置你的FlowLayoutPanel中的WrapContents屬性爲true

請通知我,如果這個工作或者沒有設置在應用程序級

+0

爲什麼桌面佈局面板將解決這個問題,因爲我需要流佈局面板? – Donotalo

+0

我試過了。它沒有解決我的問題。 – Donotalo

0

檢查EnableVisualStyles屬性值。將其設置爲true並檢查。

+0

這並不能解決我的問題。 – Donotalo

0

如果你想保持標籤在其位置的設計=>使用組合可以在Anchor財產

  1. 玩:頂部,左側
  2. 如果你想在水平方向拉伸控制= >使用組合:頂部,左側,右側
  3. 如果要保持控件在所有方向上拉伸控件=>使用組合:頂部,左側,右側,底部
  4. 如果要將控件保留在底部右側位置(通常用於按鈕)=>使用c ombination:底部,右側

你可以閱讀更多關於錨herehere

希望這將幫助你

+0

所有控件及其父母的錨都設置爲Top,Left。然而他們被拉長了。 – Donotalo

相關問題