Проблема заполнения строк - PullRequest
0 голосов
/ 18 апреля 2009

При использовании приведенного ниже кода заполнение, похоже, не воспроизводится должным образом, теоретически текст «ДОБАВИТЬ этот текст» должен начинаться со столбца 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);


Кто-нибудь сталкивался с этой проблемой раньше? Есть ли что-то очевидное, чего мне не хватает.

Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 18 апреля 2009

Может быть, ваш MessageBox показывает шрифт с переменным шагом?

Попробуйте установить шрифт Courier New (в любом соответствующем элементе управления) и посмотрите, поможет ли это.

0 голосов
/ 18 апреля 2009

Измените свой код на:

    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);

Таким образом, вы увидите, правильно ли задано правильное количество символов, и вы также сможете определить, является ли это проблемой ширины шрифта, как заявили другие.

...