2012-08-14 216 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;