今回は置換機能を追加します。以前作成したSyncRichTextBoxクラスを使用します。

複数のRichTextBoxで置換を同期させる方法

SyncRichTextBox.ReplaceStrings(string oldString, string newString, int start)

これをつかってみましょう。

あまりできのいいプログラミングとはいえませんが(関数長すぎ)、置換の箇所が多いときのためにプログレスバーを表示させるようにしています。

まず最初にダイアログを表示させて、置換は現在選択されているノードだけなのか、その配下のノードも含むのか、それともファイル全体なのかを選択させます。

そのあと置換の対象を検索させて逐次置換、一括置換かを選択するダイアログを表示します。一括置換が選択されたらダイアログは表示させる必要はありません。一括置換の場合は進行状況がわかるようにプログレスバーを表示させます。