複数のRichTextBoxを同期する Cut、Copy、Paste編です。今回は簡単です。Pasteは別のRichTextBoxを作成してここにペーストします。そしてこのデータを同期対象のコントロールに挿入します。

これで完成!と言いたいところなのですが、画像ファイルをペーストするとファイルがロックされるという問題が発覚しました。ファイルをペーストする処理は別に考えたほうがいいのかな。

そこで・・・

OnFilePasteの内容として

クリップボードにあるファイルが画像ファイルの場合、Image.FromFileでImageを取得、これをクリップボードに転送してペースト処理をしています。これだとファイルはロックされません。終わったらクリップボードの内容を元に戻します。

できればClipboard.SetDataObject(backup, false)ではなくClipboard.SetDataObject(backup, true)としたいのですが、これだとアプリがフリーズしてしまいます。

以前やった

RichTextBoxにBitmapを挿入する方法

のRichTextBoxOle.InsertFileBmpIfImageメソッドを使って

とするか・・・うーん。