ここには「テキストを太字にする方法」に関する質問がたくさんあることは知っていますが、どの回答も役に立ちません。実行時にリッチ テキスト ボックスが作成されている可能性があると思います。
チャット クライアントを作成しているので、行に分割されたリッチ テキスト ボックスがあり、メッセージは次のようになります: {Name}: {Message} \r\n
名前を太字にしたいのですが、多くのコード例を試しましたが、これは私がそれを機能させるのに最も近いものです:
int length = textBox.Text.Length;
textBox.Text += roomChatMessage.from + ": " + roomChatMessage.text + "\r\n";
textBox.Select(length, roomChatMessage.from.Length);
textBox.SelectionFont = new Font(textBox.Font, FontStyle.Bold);
最初のメッセージは、問題なく動作します。名前は太字になっています。しかし、2 番目のメッセージを追加すると、2 回目のラウンドで開始インデックス (この例では 37) を選択しているにもかかわらず、すべてが太字になり、過去のメッセージもすべて太字になります!
これを引き起こす原因について何か考えはありますか?前もって感謝します!