今回は文字を修飾する機能を追加します。ツールバーも追加しました。たとえばBボタンを押すと文字が太くなります。

自作のクラス SyncRichTextBoxを使用しています。フォーカスがどちらのRichTextBoxにあるか調べて、そのBoxで選択されている文字のフォントスタイルを変更します。

参考:RichTextBoxの選択部分のフォントスタイル(太字、斜体、アンダーラインなど)を変更する

選択部分のフォントスタイル(太字、斜体、アンダーラインなど)を変更する 内容が同期されたRichTextBox(その18)

ボタンにはCheckOnClickプロパティを設定しています。これはアイテムがクリックされたときに、その選択された状態を切り替えるべきかを示します。

あとはボタンが押されたらCheckedプロパティがtrueとfalseが切り替わるので、Checkedプロパティを調べてtrueなら設定、falseなら解除しています。

では次に、選択されている文字が変更されると、その文字にどのようなフォントスタイルが設定されているか調べて、ボタンが押された状態になったり押されていない状態に切り替わるようにしてみましょう。

複数の選択された文字のフォントスタイルが同じでない場合、選択されていないと判断して、ボタンは押されていない状態になります。またフォント名は空欄になります。

選択されている文字のフォント名はコンボボックスに表示されます。ではコンボボックスからフォントを選択してフォントを変更するにはどうすればいいのでしょうか? これは次回に続きます。

コンボボックスからフォント名を選択してフォントを変更する 俺的アウトラインプロセッサーをつくる(その9)