9

如何进一步减少控件之间的空间?我已将所有边距和填充设置为 0,但我的控制器之间仍有空间。

流布局属性

这是我将所有边距和填充设置为 0 的空间。我什至将每个控制器上的边距和填充设置为 0。

新间距

为了保持一致性,这里是添加 PictureBoxes 的代码

Dim newPic As PictureBox = New PictureBox()
newPic.Image = p.Image
newPic.Size = New System.Drawing.Size(New Point(p.Size.Width * 2, 
                                                p.Size.Height * 2))
newPic.SizeMode = p.SizeMode
laytt.SetToolTip(newPic, ttstring)
AddHandler newPic.Click, AddressOf LayoutComponent_Clicked 

LayoutFlowLayout.Controls.Add(newPic)
4

2 回答 2

15

您没有在添加的图片框上设置 Margin 属性。默认值为 3,3,3,3。添加这行代码来解决问题:

  newPic.Margin = New Padding(0)
于 2012-11-01T19:40:33.957 回答
4

每个控件都以不同的方式处理边距,即使使用标准控件也是如此。看看这个例子:

在此处输入图像描述

请注意, aButton在它周围保留了一些空间,而 TextBox 占据了所有内容。您可能会问为什么它们之间有 2 个像素,您可以清楚地看到。为此 - 请复制/粘贴到 Paint 并放大。这 2 个像素实际上是边框,这就是绘制控件的方式。我敢肯定Buttons也有边框,但即使放大,也很难在视觉上证明是正确的。

如果你想改变它,你需要创建一个自定义控件并覆盖它的绘制方式,即手动切割它的边框或类似的。但我不建议这样做,以保持 UI 一致。

于 2012-11-01T19:34:13.210 回答