垂直对齐TableLayoutPanel中的控件

时间:2010-09-09 11:19:39

标签: c# winforms vertical-alignment tablelayoutpanel

有没有办法让TableLayoutPanel上的控件的文本内容正确对齐?我在第0列中有标签,在第1列中有文本框(或偶尔使用ComboBox或NumericUpDown控件),但标签中的文本通常是大多数行上的一个像素或两个(垂直)。

6 个答案:

答案 0 :(得分:12)

几天前我就开始工作了。我按要求得到了一切。 试试这个:

标签

  • 从Tablelayoutpanel分离标签
  • 将dockstyle设置为顶部
  • 设置锚点无
  • TextAlign = MiddleLeft
  • 然后将其放在表格布局栏
  • 如果您有标签背景颜色,请确保行样式高度与标签高度匹配。

对于文本框

  • 从Tablelayoutpanel分离文本框
  • 将dockstyle设置为无
  • 设置锚点无
  • TextAlign = MiddleLeft(或根据需要)
  • 然后将其放在表格布局栏

答案 1 :(得分:8)

选择表格布局面板中的所有控件。在属性选项卡中,确保将锚点设置为“左”。我认为它默认为“顶部,左侧” 希望能把事情做好。

答案 2 :(得分:7)

您可以设置以下属性:

 用于标签
   1。Autosize= false;
   2。TextAlign= MiddleLeft;

对于像Combobox,Textbox

这样的控件,

转到查看 - >工具栏 - >布局

现在,您可以通过一次选择多个控件来轻松地通过工具栏布局控件............

答案 3 :(得分:1)

我建议按原样保留锚点,只是在控制器上添加一个太高的边距。当我添加标签时,我可以获得3,6,3,0的保证金。正如Javed所说,您可以通过控制点击选择多个控件。令人恼火的是,ComboBoxes比Texboxes大一个像素。但是对此无能为力。

答案 4 :(得分:0)

哦,你的意思是标签的文字基线与其他控件不同? 如果是这样,请尝试删除垂直锚点。你也可以玩边距。

答案 5 :(得分:0)

我通常做的是将它们放在容器中,例如面板,并将它们固定在那个容器上。 添加容器的优点是您还可以减少Win处理程序的数量。在那种情况下无关紧要,因为你已经有了TablelayoutPanel所以基本上所有控件只有一个处理程序。