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 に答える