[英]Winforms: Resizing user controls in form control
內容:
我正在嘗試使用Microsoft Prism指南構建表單。
我有兩個注入到表單中的用戶控件。 該表單包含兩個面板,分別代表將容納用戶控件的容器。
用戶控件在運行時通過DI注入(我使用的是MVP模式,類似於MVVM,但針對Winforms進行了調整)。
表單具有默認的最小大小,但未指定最大大小。 調整表單大小的唯一方法是使其全屏顯示。 它的AutoSize屬性設置為TRUE,AutoSizeMode設置為GrowAndShrink
兩個用戶控件的AutoSize都設置為TRUE。 用戶控件內的所有容器的AutoSize屬性設置為TRUE,DOCK設置為FILL,而AutoSizeMode = GrowAndShrink。 未設置控件的最大大小。
表單內的面板彼此堆疊,並將Anchor屬性設置為:TOP,LEFT,RIGHT,分別為:BOTTOM,LEFT,RIGHT。
問題:
將窗體調整為全屏大小時,我希望用戶控件能夠展開以填充整個屏幕。
那沒有發生。
用戶控件的大小不會更改,我無法弄清楚原因。
謝謝。
更新
如果我將窗體內面板的DOCK屬性分別更改為TOP或FILL,面板將被調整大小,但面板內的用戶控件保持不變。
將面板中控件的Dock
也設置為Fill
。
不用在控件上設置Dock和AutoSizeMode了,只需使用Anchor,您就會發現它的工作原理還不錯。
我從不使用AutoSize = true
。 我總是將其設置為false
(事實上,我必須檢查一些表單以確認AutoSize
和AutoSizeMode
屬性甚至存在於表單的控件上)。
在您描述的場景中,我將面板和其中包含的控件的“錨”設置為“上”,“左”,“下”,“右”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.