我正在制作UserControl
的问题。它由TableLayoutPanel
和其他TableLayoutPanel
组成,其中包含ListView
。我想让它可调整大小,以便它适合我的应用程序的左侧面板,并且行为有点像Visual Studio中的Toolbox。问题是当我调整面板大小时,我的控件不会缩放。
UserControl
已嵌入到Dock = Fill
和Anchor = Tob, Left, Bottom, Right
的面板中。其中的所有控件都是这样制作的。我该如何解决这个问题?
编辑:这是WinForms,而不是XAML。
答案 0 :(得分:0)
使用拆分面板,将您的UserControl
放在左侧面板中,然后Dock.Fill
。
答案 1 :(得分:0)
您可能正在寻找TableLayoutPanel上的AutoSize属性和该面板的AutoSize ColumnType。 你可以通过简单地自动调整表格布局面板(GrowAndShrink)来实现像Dock = Fill之类的东西,这样它就能完全适合你的内部控制。 请发布您的设计师代码,以了解如何嵌入控件中的其他控件。
答案 2 :(得分:0)
我怀疑你的调整大小问题来自你在TableLayoutPanel中调整控件的策略。
表格布局面板很棘手。关于调整大小策略,你想要跟随里面表格面板的单元格,单元格中的控件要么是Dock.Fill,要么是Anchor = Top,Left,Bottom,Right。
基本上:
您希望网格单元格适应控件的大小,然后在单元格Anchor = Top,Left,Bottom,Right中设置控件,并将行/列设置为自动调整大小。
如果您希望单元格中的控件适应单元格大小,请使用Dock.Fill并使用百分比或绝对值来调整单元格大小。
TableLayoutPanel的行为最好在the MSDN documentation。
中描述