TableLayoutPanel最后一行大小太大

时间:2013-06-30 19:35:26

标签: c# height row tablelayoutpanel

我的应用程序使用驻留在TabPage中的TableLayoutPanel。

如果我添加的项目数量相对较少(即它没有“填满”整个标签页),那么最后一行的高度会被拉伸。以下是正在发生的事情的屏幕截图:

Table Layout Panel Last Row

我试图将表的属性更改为Autosize,GrowAndShrink等,但似乎没有任何阻止这种情况发生。

以下是我对表格布局属性的当前设置:

Table Layout Panel Layout Properties

如何让最后一行与其他行的大小相同?

由于

5 个答案:

答案 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的高度!