使用下面给出的代码填充似乎不应该播放,理论上文本“添加此文本”应该从两个字符串中的第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);
之前有人遇到过这个问题吗?是否有一些我不知道的东西。
非常感谢。
答案 0 :(得分:4)
也许你的MessageBox显示可变间距字体?
尝试将字体设置为Courier New
(在任何相关控件中),看看它是否有帮助。
答案 1 :(得分: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);
通过这种方式,您将看到是否正确填充了正确数量的字符,并且您还可以判断它是否是其他人所说的字体宽度问题。