[英]UserControl and make Dock property ReadOnly - is this a correct way?
[英]Make UserControl resize when Dock = Fill
我正在制作的UserControl
有問題。 它由TableLayoutPanel
組成,其中包含另一個具有ListView
TableLayoutPanel
。 我想使其可調整大小,以使其適合我的應用程序的左面板,並在某種程度上類似於Visual Studio中的“工具箱”。 問題是調整面板大小時控件無法縮放。
UserControl
嵌入在面板中,其中Dock = Fill
和Anchor = Tob, Left, Bottom, Right
。 同樣,其中的所有控件都采用這種方式。 我怎樣才能解決這個問題?
編輯:這是WinForms,而不是XAML。
您可能正在尋找TableLayoutPanel上的AutoSize屬性以及該面板的AutoSize ColumnType。 您可以通過簡單地自動調整表布局面板的大小(GrowAndShrink)來實現Dock = Fill之類的功能,使其始終適合您的內部控件。 請發布您的設計器代碼,以查看如何將控件嵌入到其他控件中。
我懷疑您的調整大小問題來自於TableLayoutPanel內部控件的調整大小策略。
表格布局面板非常棘手。 至於你想跟着表板的單元內的大小調整策略,在細胞中控制要么是Dock.Fill或錨=頂部,左,下,右。
基本上:
在Il中,您希望網格單元格適應控件的大小,然后將控件置於單元格Anchor = Top,Left,Bottom,Right中,並將行/列設置為自動調整大小。
如果要使單元格中的控件適應單元格的大小,請在其上使用Dock.Fill並使用百分比或絕對值來調整單元格的大小。
在MSDN文檔中最好地描述了TableLayoutPanel的行為。
使用拆分面板,將您的UserControl
放在左側面板中並Dock.Fill
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.