2009-04-18 104 views
0

使用填充下面給出的代碼似乎沒有按照原樣播放,理論上文本「ADD this text」應該從第21列開始在兩個字符串中,但在str2中它有一個幾個額外的空間。在檢查兩個琴絃的長度時,結果與預期的相同。
字符串填充問題

 string str1 = "Test".PadRight(20); 
     string str2 = "Test123".PadRight(20); 

     string common = "Add this text"; 

     MessageBox.Show(str1.Length.ToString()); 
     MessageBox.Show(str2.Length.ToString()); 

     MessageBox.Show(str1 + common + "\n" + str2 + common); 


任何人都遇到過這個問題嗎?有什麼明顯的我缺少。

很多謝謝。

回答

4

也許你的MessageBox顯示變間距字體?

嘗試將字體設置爲Courier New(在任何相關控件中),並查看它是否有幫助。

+0

同樣的事情發生在TextBox,TextBlock等。 – 2009-04-18 10:37:21

0

你的代碼更改爲:

string str1 = "Test".PadRight(20, 'W'); 
    string str2 = "Test123".PadRight(20, 'I'); 
    string common = "Add this text"; 
    MessageBox.Show(str1.Length.ToString()); 
    MessageBox.Show(str2.Length.ToString()); 
    MessageBox.Show(str1 + common + "\n" + str2 + common); 

這樣,你會看到,如果被正確填充字符正確的號碼,你也可以說,如果它是一個字體寬度問題,因爲其他已經聲明。