9

我的应用程序使用位于 TabPage 内的 TableLayoutPanel。

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

表格布局面板最后一行

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

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

表格布局面板布局属性

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

谢谢

4

5 回答 5

5

使用停靠属性解决了最后一行高度问题,但通过更改表格宽度以匹配容器宽度 (100%) 来创建另一个问题。我希望最后一行的高度正确,但我不希望强制 100% 宽度。

我没有使用 Dock 属性,而是使用:

AutoSizeMode = AutoSizeMode.GrowAndShrink

这使得自动调整大小在最后一行和最后一列上正常工作。

于 2014-12-02T14:55:55.257 回答
5

我只是有非常相似的问题。以编程方式填充TableLayoutPanel(使用自动滚动)并且最后一行太高。码头解决方法不适合我。

通过添加空Label作为最后一行来修复。它“占据”最后一行,但不可见。对我来说够多的了。

于 2015-06-01T07:20:38.590 回答
4

根据您的设计和您的要求,我建议您将Dock属性设置TableLayoutPanel为顶部。

于 2013-06-30T19:49:48.443 回答
2

我有一个类似的问题,其中最后一行在 TLP 中总是太高,行数超出了使用 AutoScroll 的容量。

解决方案是关闭 AutoScroll,从 TLP Rows 集合中设置行大小,然后再次打开 AutoScroll。

于 2014-03-29T16:42:00.097 回答
0

1像素是最小单位!eg:平均容器高度为 10 行,如果 TableLayoutPanel 高度为 200,那就完美了!但是如果 TableLayoutPanel 的高度是 199 。计算机无法溢出一个像素;所以,每一行的高度必须是19,而最后一行的高度是19+(199 - 19*10)= 28; 结果:最后一行比其他行高10。我们需要做的是避免将 TableLayoutPanel 高度设置为平均值。或者我们需要更改 TableLayputPanel 高度!

于 2020-06-11T12:31:11.583 回答