2012-06-09 24 views
3

我試圖用數據使用StringBuilders AppendFormat方法創建表。我希望第二列和第三列中的文本左對齊。使用StringBuilder.AppendFormat格式化字符串不按預期方式工作

下面是一個例子,我在谷歌發現: http://www.csharp-examples.net/align-string-with-spaces/

然而,使用相同的代碼網站,我得到不同的結果。第二列文本的位置取決於第一列文本的長度。我做錯了嗎?有更好的方法可以更適合這項任務嗎?我想從第一列的第一個字符到第二列的第一個字符(如在c中的運輸及工務局局長()方法++)

symbolTableToString.AppendFormat(" {0,-20} {1,-10} {2,-10} {3,-10}",dataNode.token, dataNode.tokenClass, dataNode.tokenMode, dataNode.alias).AppendLine(); 

我把每一行到文本框一定量的空間並且無法使用其他小部件,因爲這是作業分配的一部分。 enter image description here

+0

嘗試將文本框設置爲像Courier一樣的固定寬度字體。 – hatchet

+0

@hatchet多數民衆贊成在這!謝謝!發佈它作爲答案,以便我可以接受答案:) –

+0

您應該使用DataGridView。 – SimpleVar

回答

3

您的文本框具有可變寬度的字體,因此使用空格對齊列的方式幾乎不會很好。將文本框的Font屬性更改爲固定寬度的字體,例如Courier New。

0

你的問題不是AppendFormat,它似乎正常工作。將該文本框設置爲使用等寬字體,例如快遞新或Consolas。