Winforms 在TableLayoutPanel中,如果Dock=Fill且AutoSize=true,则最后一列/行将占用所有剩余空间
在TableLayoutPanel中,如果我们设置AutoSize=true和Dock=fill 最后一列/行将占用所有剩余空间。Winforms 在TableLayoutPanel中,如果Dock=Fill且AutoSize=true,则最后一列/行将占用所有剩余空间,winforms,Winforms,在TableLayoutPanel中,如果我们设置AutoSize=true和Dock=fill 最后一列/行将占用所有剩余空间。 如何将其设置为所需的高度(行)和宽度(列)?您应该将TableLayoutPanel添加为具有两行两列的tbl1。然后设置dock=fill autoscroll=true,并将第一行的宽度设置为autosize,第二行的宽度设置为绝对0.00 F 对第1列和第2列执行相同的操作。 现在在第1行第1列中添加实际的TableLayoutPanel。我刚刚添加了最后一行
如何将其设置为所需的高度(行)和宽度(列)?您应该将
TableLayoutPanel
添加为具有两行两列的tbl1。然后设置dock=fill autoscroll=true
,并将第一行的宽度设置为autosize
,第二行的宽度设置为绝对0.00 F
对第1列和第2列执行相同的操作。
现在在第1行第1列中添加实际的
TableLayoutPanel
。我刚刚添加了最后一行,并将其大小设置为绝对和0像素。这对我很有用。完成了@user232986的回答,帮助我解决了问题。
这是VB.NET的代码
在我为其选择的设计器中
- 第1行:
(例如包含标签之类的数据)自动调整大小
- 第2行:
(例如包含面板之类的数据)自动调整大小
- 第3行:
(这是包含数据的最后一行)百分比100%
- 第4行:
(添加虚拟行)绝对0
Me.tableLay.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
Me.tableLay.AutoSize = True
Me.tableLay.Dock = DockStyle.Fill
我只有一个列设置为
100,00%
对我有效的方法是——在TableLayoutPanel中添加一个虚拟(不可见)组件,强制创建一个新行,并使用(现在不可见,除了滚动条可见性方面的一个小故障)行为。这是一个混乱的建议。为什么这是公认的答案?你知道为什么它只适用于最后一行而不适用于最后一列吗?