3

StringBuilders AppendFormat メソッドを使用して、データを含むテーブルを作成しようとしています。2 列目と 3 列目のテキストを左揃えにします。

Google で見つけた例を次に示します: http://www.csharp-examples.net/align-string-with-spaces/

ただし、Web サイトと同じコードを使用すると、異なる結果が得られます。2 列目のテキストの配置は、1 列目のテキストの長さによって異なります。私はこれを間違っていますか?このタスクにより適したより良い方法はありますか? 1 列目の最初の文字から 2 列目の最初の文字まで、ある程度のスペースが必要です (C++ の setw() メソッドのように)。

symbolTableToString.AppendFormat(" {0,-20}  {1,-10}  {2,-10} {3,-10}",dataNode.token, dataNode.tokenClass, dataNode.tokenMode, dataNode.alias).AppendLine();

各行をテキスト ボックスに入力していますが、これは宿題の一部であるため、別のウィジェットを使用できません。ここに画像の説明を入力

4

2 に答える 2

3

テキストボックスには可変幅のフォントがあるため、スペースの数を使用して列を揃えても、うまくいくことはほとんどありません。テキスト ボックスの Font プロパティを Courier New などの固定幅フォントに変更します。

于 2012-06-09T17:21:01.343 に答える
0

あなたの問題は AppendFormat ではなく、実際には正しく動作しているようです。Courier New や Consolas などの等幅フォントを使用するようにテキスト ボックスを設定します。

于 2012-06-09T17:12:44.200 に答える