如何保存和恢复WebBrowser控件的选择?

时间:2015-10-09 11:44:09

标签: c# winforms webbrowser-control

我使用Windows.Forms.WebBrowser控件作为文本编辑器。若要更改某些所选文本的字体大小,我会显示一个模态窗口,用户可以在其中制作有关字体大小的色调,关闭该窗口后,先前选择的文本将根据更改进行修饰。不幸的是,只要模态窗口打开,主窗口中的选择就不再可见了,我找不到保存和恢复它的方法。我可以使用

确定所选范围
    IHTMLDocument2 htmlDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument;
    IHTMLSelectionObject currentSelection = htmlDocument.selection;

但由于htmlDocument.selection是只读的,我无法在模态关闭后设置它。我所能做的只是在主窗口上调用Select(),但是插入符号跳转到文本的末尾并且没有选择任何内容。

任何想法如何解决这个问题? (我知道我可以使用ComboBox来改变字体大小,但我需要自定义窗口...原因。)

1 个答案:

答案 0 :(得分:1)

您可以使用书签。将选择保存为书签:

var bookmark = document.selection.createRange().getBookmark();

还原:

var range = document.selection.createRange();
range.moveToBookmark(bookmark);
range.select();