1

RichTextBox コントロールを使用してユーザー テキストを表示する、私が作成したチャット サーバー プログラムのクライアントを作成しています。サーバーの motd に使用している ASCII アートを除いて、すべてが機能します。それを実行すると、私のテキストはこのように表示されます。ご覧のとおり、間隔に問題があるようです。 ここに画像の説明を入力

まったく同じフォントを使用してこれをメモ帳に入力すると、次のようになります。richTextBox が同じ結果を表示しないのはなぜですか? ここは本当に困った……。

ここに画像の説明を入力

編集: 問題は、サーバーによって送信された RTF が原因です。RTF に余分なスペースを追加するにはどうすればよいですか?

4

2 に答える 2

5

問題は明らかにフォントであり、フォントをNotepad使用Monospaceしていますが、RichTextBox はフォントを使用しているようNon-Monospaceです。

Monospaceフォントの場合、それぞれの幅はcharacter同じですがNon-Monospacecharacter幅が異なるため、表示の問題です。

RichTextBox に追加する前に、文字backslashをエスケープする必要があることに気付くのを忘れていました。\

于 2013-02-24T05:05:20.020 に答える
4

RichTextBoxどうやら、問題は、ASCIIアートテキストをコントロールにフィードする方法に起因しているようです。両方の画像を調べると、欠落している文字RichTextBoxがバックスラッシュであり、バックスラッシュの後の文字であることがわかります。バックスラッシュ文字をエスケープするのを忘れたようです。

于 2013-02-24T08:35:36.937 に答える