【问题标题】:TableLayoutPanel evenly spaced cellsTableLayoutPanel 等距单元格
【发布时间】:2012-04-30 03:30:09
【问题描述】:

我试图让 TablePanelLayout 中的列均匀分布。它似乎适用于某些数字,但不适用于其他数字。

2、4、5、8 和 10 都可以正常工作,但 3、6、7 和 9 则不行。最后一个单元格总是比其他单元格稍大或稍小。

浮点精度似乎有一个限制:100 / 5 = 20 很好,很均匀。但是 100 / 6 = 16.66666... 它只显示 2 个小数位。

除以 100 时产生重复数字的任何方法都不起作用。我试过使用格式 > 水平/垂直间距 > 使相等,我在其他线程中看到过,但它没有任何区别。

这是特别值得注意的,因为每个单元格都包含一个 SizeMode 设置为 Zoom 的 PictureBox。所以一个图像显然与其他图像的大小不同。

还有其他技巧可以确保它们绝对均匀吗?整个表单是可调整大小的,因此它必须以任何合理的比例工作。所有 4 边都设置为 Anchor,边距和内边距均为 0。

我的想法已经用完了......

【问题讨论】:

  • 您能否添加额外的列并动态调整这些列的大小,以便包含数据的列数除以整数?

标签: c# picturebox spacing tablelayoutpanel


【解决方案1】:

没关系,我想出了一个解决方案,虽然感觉有点老套。如果有人看到这一点,我所做的总是比我实际需要的多列/行,并将额外的行设置为“AutoSize”。然后其他行全部向下舍入,因此它们实际上都是 16.5%,而不是 16.67% 或其他。额外的自动大小的行然后吃掉了松弛。我不喜欢它,但它似乎有效。

(我实际上在发布后几个小时就解决了这个问题,但显然我太菜鸟了,不能在没有等待期的情况下回答我自己的问题。不确定我是否理解该规则的要点,你会认为您想鼓励人们自己解决问题,但无论如何。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2013-05-10
    • 2014-02-21
    • 1970-01-01
    • 2021-04-06
    相关资源
    最近更新 更多