我正在尝试使用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();
我将每行放入一个文本框中,因为这是家庭作业的一部分,所以我无法使用不同的小部件。
答案 0 :(得分:3)
您的文本框具有可变宽度字体,因此使用空格对齐列几乎不会很好。将文本框的Font属性更改为固定宽度字体,如Courier New。
答案 1 :(得分:0)
你的问题不是AppendFormat,它实际上似乎正常工作。将该文本框设置为使用等宽字体,例如Courier New或Consolas。