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

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

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

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

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

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

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

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

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

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