【问题标题】:TableLayoutPanel Last Row Size Too BigTableLayoutPanel 最后一行大小太大
【发布时间】:2013-06-27 23:07:05
【问题描述】:

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

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

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

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

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

谢谢

【问题讨论】:

  • 我建议你在你的设计中做一些改变,将TableLayoutPanel的dock属性设置为top而不是fill。
  • Dock 当前设置为无。
  • 好吧,顶一下,我想这会对你有所帮助。
  • 我刚刚将它设置为顶部并将 autosize 设置为 true 并且它工作了谢谢!
  • 回答我的问题,我会给你信用。 :)

标签: c# height row tablelayoutpanel


【解决方案1】:

根据您的设计和要求,我建议您将TableLayoutPanelDock 属性置顶。

【讨论】:

    【解决方案2】:

    我遇到了一个类似的问题,即在 TLP 中最后一行总是太高,并且使用 AutoScroll 的行数太多了。

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

    【讨论】:

      【解决方案3】:

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

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

      AutoSizeMode = AutoSizeMode.GrowAndShrink
      

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

      【讨论】:

        【解决方案4】:

        我刚刚遇到了非常相似的问题。以编程方式(使用自动滚动)填充TableLayoutPanel,最后一行太高。码头解决方法不适合我。

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

        【讨论】:

        • 仍然使表格的底部很大。那里有很多滚动。
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-10-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多