【发布时间】:2011-04-10 05:07:59
【问题描述】:
有没有办法让 TableLayoutPanel 上的控件的文本内容正确对齐?我在第 0 列有标签,在第 1 列有文本框(或偶尔有 ComboBox 或 NumericUpDown 控件),但标签中的文本在大多数行上通常是一个或两个像素(垂直)。
【问题讨论】:
标签: c# winforms vertical-alignment tablelayoutpanel
有没有办法让 TableLayoutPanel 上的控件的文本内容正确对齐?我在第 0 列有标签,在第 1 列有文本框(或偶尔有 ComboBox 或 NumericUpDown 控件),但标签中的文本在大多数行上通常是一个或两个像素(垂直)。
【问题讨论】:
标签: c# winforms vertical-alignment tablelayoutpanel
选择表格布局面板中的所有控件。在属性选项卡中,确保锚点设置为“左”。我认为它默认为“顶部,左侧”。
希望能把事情弄清楚。
【讨论】:
几天前我在研究它。我按要求得到了一切。 试试这个:
对于标签
TextAlign = MiddleLeft对于文本框
TextAlign = MiddleLeft(或根据需要)【讨论】:
您可以设置以下属性:
用于标签
1.Autosize= false;
2.TextAlign= MiddleLeft;
用于组合框、文本框等控件
转到 视图 -> 工具栏 -> 布局
现在您可以通过一次选择多个控件来通过工具栏非常轻松地进行控件布局............
【讨论】:
我建议让锚点保持原样,只为太高的控件添加上边距。当我添加标签时,3,6,3,0 的边距对我来说是正常的。正如 Javed 所说,您可以通过单击控件来选择多个控件。令我恼火的是 ComboBoxes 比 Texboxes 大一个像素。不过对此无能为力。
【讨论】:
哦,您的意思是标签的文本基线与其他控件的不同? 如果是这样,请尝试移除垂直锚点。您也可以使用边距。
【讨论】:
我通常做的是把它们放在一个容器中,例如一个面板,然后将它们固定在那个容器上。 添加容器的好处是您还可以减少 Win 处理程序的数量。在那种情况下,这并不重要,因为您已经有了 TablelayoutPanel,所以基本上对于所有控件,您只有一个处理程序。
【讨论】: