我使用Windows.Forms.WebBrowser控件作为文本编辑器。若要更改某些所选文本的字体大小,我会显示一个模态窗口,用户可以在其中制作有关字体大小的色调,关闭该窗口后,先前选择的文本将根据更改进行修饰。不幸的是,只要模态窗口打开,主窗口中的选择就不再可见了,我找不到保存和恢复它的方法。我可以使用
确定所选范围 IHTMLDocument2 htmlDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument;
IHTMLSelectionObject currentSelection = htmlDocument.selection;
但由于htmlDocument.selection
是只读的,我无法在模态关闭后设置它。我所能做的只是在主窗口上调用Select()
,但是插入符号跳转到文本的末尾并且没有选择任何内容。
任何想法如何解决这个问题? (我知道我可以使用ComboBox来改变字体大小,但我需要自定义窗口...原因。)
答案 0 :(得分:1)
您可以使用书签。将选择保存为书签:
var bookmark = document.selection.createRange().getBookmark();
还原:
var range = document.selection.createRange();
range.moveToBookmark(bookmark);
range.select();