.NET Label.TextAlign似乎不起作用

时间:2010-07-22 10:42:57

标签: c# .net winforms user-interface

我有一个标签,我想要对齐,以便能够对齐文本框 Visual Studio 2010 Express中的Designer已为我生成此代码

this.lblAddData.AutoSize = true;  
this.lblAddData.Location = new System.Drawing.Point(167, 452);  
this.lblAddData.Name = "lblAddData";  
this.lblAddData.Size = new System.Drawing.Size(25, 14);  
this.lblAddData.TabIndex = 5;  
this.lblAddData.Text = "text";  
this.lblAddData.TextAlign = System.Drawing.ContentAlignment.MiddleRight;  

[文本] [文本框] 在代码中,我以编程方式更改文本

lblAddData.Text = "a very long text";

但文字隐藏在我放在旁边标签旁边的texbox后面 右边。

[ver] [textbox]

以前有人遇到过同样的问题吗? 我知道它缺少信息所以请问我是否需要更多信息 最诚挚的问候 Görgen

2 个答案:

答案 0 :(得分:15)

好吧,我自己发现了这个错误; AutoSize设置为true,即默认行为

this.lblAddData.AutoSize = true;

当我将其改为false时,它按照我的假设应该工作。

答案 1 :(得分:3)

TextAlign属性控制文本在标签中的对齐方式:

  

获取或设置标签中文本的对齐方式。

如果您更改文字的长度,则需要重新计算始终位于左上角的标签的Location

我发现这个Code Project article虽然可能超出你想要的顶部,但却说:

  

此外,如果您要更改标签文本(例如,在本地化应用程序时)或文本对齐方式,则必须调整大小/重新定位控件。因此,我创建了这个简单的标签来处理这些细节。

(我的大胆)

因此,您可以使用相同的算法重新定位标签。