我的应用程序使用驻留在TabPage中的TableLayoutPanel。
如果我添加的项目数量相对较少(即它没有“填满”整个标签页),那么最后一行的高度会被拉伸。以下是正在发生的事情的屏幕截图:
我试图将表的属性更改为Autosize,GrowAndShrink等,但似乎没有任何阻止这种情况发生。
以下是我对表格布局属性的当前设置:
如何让最后一行与其他行的大小相同?
由于
答案 0 :(得分:5)
根据您的设计和要求,我建议您将Dock
的{{1}}属性设为最高。
答案 1 :(得分:4)
使用dock属性解决了最后一行高度问题,但通过更改表宽度以匹配容器宽度(100%)来创建另一个。我希望最后一行的高度是正确的,但我不想强制100%的宽度。
我没有使用Dock属性,而是使用了:
AutoSizeMode = AutoSizeMode.GrowAndShrink
这使自动调整大小在最后一行和列上正常工作。
答案 2 :(得分:4)
我只是遇到了非常类似的问题。以编程方式(使用自动滚动)填充TableLayoutPanel
,最后一行太高。 Dock解决方案不适合我。
通过添加空Label
作为最后一行来修复。它“占据”最后一行,但不可见。够了我。
答案 3 :(得分:2)
我有一个类似的问题,使用AutoScroll,最后一行在TLP中总是太高,行数多于可能的行数。
解决方案是关闭AutoScroll,从TLP Rows集合设置行大小,然后再次打开AutoScroll。
答案 4 :(得分:0)
1像素是最小单位! 例如:到平均容器高度10行,如果TableLayoutPanel高度为200,那是完美的! 但是如果TableLayoutPanel的高度是199。计算机无法溢出一个像素; 因此,每行的高度必须为19,而最后一行的高度必须为19+(199-19 * 10)= 28; 结果是:最后一行比另一行高10。 我们需要做的是避免将TableLayoutPanel的高度不设置为average。或者我们需要更改TableLayputPanel的高度!