有什么方法可以让TableLayoutPanel上控件的文本内容正确对齐吗?我在第0列中有标签,在第1列中有文本框(偶尔也有ComboBox或NumericUpDown控件),但标签中的文本通常在大多数行上都是一个或两个像素(垂直)。
ikfrs5lh1#
选择表格布局面板中的所有控件。在属性选项卡中,确保锚设置为“左”。我想它默认为“上,左”。希望这能让事情变好。
cetgtptt2#
我几天前就做了。我得到了所需的一切。试试这个:
对于标签
TextAlign = MiddleLeft
t1rydlwq3#
您可以设置以下属性:
标签
Autosize= false;
TextAlign= MiddleLeft;
7z5jn7bk4#
我建议让锚保持原样,只是在太高的控件上添加一个上边距。当我添加标签时,3,6,3,0的页边距对我来说是正常的。正如Javed所说,你可以通过单击控件来选择多个控件。ComboBox比Texboxes大一个像素,这让我很恼火。但我对此无能为力。
huwehgph5#
哦,你的意思是标签的文本基线与其他控件不同?如果是这样,尝试删除垂直锚点。你也可以使用边距。
oyjwcjzk6#
我通常做的是把它们放在一个容器里,比如一个面板,然后把它们锚定在面板上。添加容器的好处是你可以减少Win处理程序的数量。在这种情况下,这没关系,因为你已经有了TableLayoutPanel,所以基本上所有的控件都只有一个处理程序。
1u4esq0p7#
您可以尝试使用修改后的TextBox而不是Label:https://stackoverflow.com/a/75815030/2408668该解决方案也适用于较高的DPI。
7条答案
按热度按时间ikfrs5lh1#
选择表格布局面板中的所有控件。在属性选项卡中,确保锚设置为“左”。我想它默认为“上,左”。
希望这能让事情变好。
cetgtptt2#
我几天前就做了。我得到了所需的一切。试试这个:
对于标签
TextAlign = MiddleLeft
对于文本框
TextAlign = MiddleLeft
(或根据需要)t1rydlwq3#
您可以设置以下属性:
标签
Autosize= false;
TextAlign= MiddleLeft;
用于组合框、文本框等控件
后藤查看-〉工具栏-〉布局
现在,您可以通过工具栏选择一次多个控件来轻松地为您的控件给予布局。
7z5jn7bk4#
我建议让锚保持原样,只是在太高的控件上添加一个上边距。当我添加标签时,3,6,3,0的页边距对我来说是正常的。正如Javed所说,你可以通过单击控件来选择多个控件。ComboBox比Texboxes大一个像素,这让我很恼火。但我对此无能为力。
huwehgph5#
哦,你的意思是标签的文本基线与其他控件不同?如果是这样,尝试删除垂直锚点。你也可以使用边距。
oyjwcjzk6#
我通常做的是把它们放在一个容器里,比如一个面板,然后把它们锚定在面板上。添加容器的好处是你可以减少Win处理程序的数量。在这种情况下,这没关系,因为你已经有了TableLayoutPanel,所以基本上所有的控件都只有一个处理程序。
1u4esq0p7#
您可以尝试使用修改后的TextBox而不是Label:https://stackoverflow.com/a/75815030/2408668
该解决方案也适用于较高的DPI。