2012-08-14 212 views

回答

0

如果它是控件内的文本(如标签),则可以编辑名为“TextAlign”的属性以在Windows窗体设计器中完成所需内容。

或程序,

Label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 

如果你在谈论对齐标题栏的文字,也没有办法通过的WinForms做到这一点。你将不得不使用类似这样的东西:http://www.codeproject.com/Articles/93959/WinForm-Extended

+0

我怎么可以添加标签或文本框控制Windows窗体标题栏在C# – Ankush 2012-08-14 07:43:50

+0

你必须创建自己的窗体 - 没有内置的标题栏,但与自己的 – JleruOHeP 2012-08-14 08:16:36

10

它可以用自定义表单完成 - 你将不得不创建自己的标题栏。见V4Vendettas评论;

其他方法(link) - 创建自己的处理程序,用于调整窗体大小并插入其后的代码。它会从左边的文本中增加适量的空格。然而,你将不得不添加form.Refresh()并在form.Load中调用该方法;你的窗口也会有“...”作为任务栏中的文本。

private void UpdateTextPosition() 
{ 
    Graphics g = this.CreateGraphics(); 
    Double startingPoint = (this.Width/2) - (g.MeasureString(this.Text.Trim(), this.Font).Width/2); 
    Double widthOfASpace = g.MeasureString(" ", this.Font).Width; 
    String tmp = " "; 
    Double tmpWidth = 0; 

    while ((tmpWidth + widthOfASpace) < startingPoint) 
    { 
     tmp += " "; 
     mpWidth += widthOfASpace; 
    } 

    this.Text = tmp + this.Text.Trim(); 
} 
+0

是这工作...... – Ankush 2012-08-14 07:58:17

+4

@Ankush如果这对你工作,请标记此答案被接受。 – Irshad 2013-05-07 10:13:50

+0

在unicode环境下(我的是中文OS和中文VS2010),tmp的宽度最终比count *宽度大得多。 – 2014-06-16 13:54:57

-3

Windows窗体设计器内部。进行更改,如this.lable1.AutoSize = false;

然后:

this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;