3

我正在尝试使用 StringBuilders AppendFormat 方法创建一个包含数据的表。我希望第二列和第三列中的文本左对齐。

这是我在谷歌上找到的一个例子: http ://www.csharp-examples.net/align-string-with-spaces/

但是,使用与网站相同的代码,我会得到不同的结果。第二列文本的位置取决于第一列文本的长度。我做错了吗?有没有更好的方法更适合这项任务?我想要从第一列的第一个字符到第二列的第一个字符有一定的空间(如 c++ 中的 setw() 方法)

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

我将每一行放入一个文本框中,并且无法使用不同的小部件,因为这是家庭作业的一部分。在此处输入图像描述

4

2 回答 2

3

你的文本框有一个可变宽度的字体,所以使用空格数来对齐列几乎不会很好。将文本框的 Font 属性更改为固定宽度字体,例如 Courier New。

于 2012-06-09T17:21:01.343 回答
0

您的问题不是 AppendFormat,它实际上似乎工作正常。将该文本框设置为使用等宽字体,例如 Courier New 或 Consolas。

于 2012-06-09T17:12:44.200 回答