|
分類:[VB.NET/VB2005 以降]
No73148 他でWebBrowserを使用したエディターについて質問したタッチと申します。
(WebBrowserのDomDocument.designMode = "On"にしたWebBrowserを使用・開発言語:VB2008)
Undo(いわゆる「元に戻す」)機能を実装したくて、以下のようなコードを書きました。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Document.ExecCommand("Undo", False, Nothing)
End Sub
これ自体はうまく動いたのですが、例えば、WebBrowserの右クリックメニューで
「ソースの表示」を選択してソースを表示すると、とたんにUndoが効かなくなります。
ただし、それ以降のテキスト編集についてはUndoが効き、その後「ソースの表示」をやっても
それ以前の編集状態に戻すことも可能でした。
(一番最初の「ソースの表示」の状態までは戻すことができる。)
WebBrowserで「ソースの表示」を行った場合、WebBrowser内部では何が起こっているのでしょうか?
また、「ソースの表示」以外でUndoが効かなくなる場合にはどのようなケースがあるでしょうか?
逆にいえば、最初に「ソースの表示」を行った時と同じ状態を作り出すことができれば、
それ以降はUndoを利用できるのではないかと期待できるので、
この辺の情報をご存知の方がいらっしゃいましたらアドバイスの程、よろしくお願いします。
なお、このUndoが効かなくなる現象は、以下のPCで発生していることを確認しています。
・Windows 7(64bit)・IE10搭載
・Windows Vista(32bit)・IE7搭載
※ちなみに、EXEはx86でビルドしています。
Windows7(32bit)でIE11搭載のPCではこの現象は見られず、問題なくUndoができていました。
どうぞよろしくお願いします。
|