无法删除TableLayoutPanel中控件之间的间距?

时间:2016-07-01 22:40:11

标签: c# winforms visual-studio-2010 .net-4.0 tablelayoutpanel

我添加到GetControlValue("KitInfoRetrievalForm","DropDown") 的按钮之间有一些间距。我删除了Button中的边框,并在Panel中将Margin和Padding设置为0。但我继续得到那个间距。

tableLayoutPanel.RowCount设置为8,TableLayoutPanel集合我添加了8行Rows

我错过了什么吗?这是代码:

Size Type Absolute

以下是它的显示方式:

enter image description here

3 个答案:

答案 0 :(得分:5)

要删除单元格中按钮之间的空格,只需设置它们的dock属性即可填充,然后删除按钮的默认边距:

var b = new Button();
b.Dock = DockStyle.Fill;
b.Margin = new Padding(0);

注意:

  • 通常最好将您在单元格中托管的控件的Dock属性设置为Fill。这样,您的控件将遵循您为列和行设置的TableLayouPanel大小调整规则。

  • TableLayoutPanel使用控件的Marging属性来设置控件在单元格中的位置。因此,如果您不想设置Dock并且您希望手动设置Size,则只需设置Margin即可。

答案 1 :(得分:1)

I ..在面板中将边距和填充设置为0.

为什么不删除Margin中的Buttons而不是

buttonSelector.Margin = new Padding(0);

MSDN:

  

Margin属性定义了控件周围的空间   其他控制与控件边界的指定距离。

答案 2 :(得分:0)

我在TableLayoutPanel

中使用不同控件时遇到了同样的问题

你可以这样做

  1. 转到设计视图
  2. 点击属性
  3. GoTo Columns,当你点击Columns旁边的文本框时,最右边会出现一个按钮(...),点击它
  4. 出现一个弹出窗口,选择AutoSize(而不是Absolute或Percentage)。
  5. Show:的同一窗口中选择Rows,然后再次选择自动调整大小。
  6. 点击即可,您已完成。