Visual Studio を使用して、C# を使用して Windows フォーム アプリケーションを作成します。私はリッチテキストボックスを持っています。このボックスは、色、太字、下線などの書式設定をサポートしています。
ボックス内でテキストを書式設定できるように、ボタンを追加しました。たとえば、[太字] ボタンは次のことを行います。
if (!message.SelectionFont.Bold)
message.SelectionFont = new Font(message.Font, FontStyle.Bold);
else
message.SelectionFont = new Font(message.Font, FontStyle.Regular);
これは、通常のテキストを太字にしたり太字にしたりする場合にうまく機能します。問題は、他のフォーマットと組み合わせる場合です。新しい Font を作成すると、元の書式設定が消去され、純粋な太字または純粋な通常のテキストが残ります。
テキストを太字に変更しながら、元の書式を保持するにはどうすればよいですか?
ハードコーディングしないでください。理想的には後でオプション (色、フォント、フォント サイズなど) を追加するので、すべてのオプションについて if(太字)、if(斜体)、if(下線) をチェックするべきではありません。