0

使用填充下方给出的代码似乎没有按预期播放,理论上文本“添加此文本”应该从两个字符串的第 21 列开始,但在 str2 中它有一些额外的空格。在检查两个字符串的长度时,长度结果与预期的相同 20。

        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

2 回答 2

4

也许您的 MessageBox 正在显示可变间距字体?

尝试将字体设置为Courier New(在任何相关控件中),看看是否有帮助。

于 2009-04-18T10:33:35.983 回答
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);

这样,您将看到是否正确填充了正确数量的字符,并且您还可以判断这是否是其他人所说的字体宽度问题。

于 2009-04-18T12:27:19.017 回答