被折磨的实在是没办法了,最后希望寄托在各位大虾身上!环境: VS2005 C# WebBrowser控件(edit状态) XP。小弟的要求其实不高:
用户在WebBrowser控件中选择了一段内容,调用了我的操作方法后,由我来恢复先前所选择范围。我的操作方法需要设置Document.body.innerHTML。不幸的是:当设定了Document.body.innerHTML后,IE可能会在赋给它的代码中添加一些空格或换行符。这样的结果是让随后所有的官方恢复选区方法失灵,什么moveToBook啦、setEndPoint啦,全都衰了。。我尝试用TextRange的MoveStart和MoveEnd方法来恢复选区。但它有一个致命缺点:是根据文本来调整选区的,所以不精确。因为有时候所选择内容没包含文字,这方法就不行了。再比如说我选择了一段文本,它后面有一个分隔符(<hr>).这样恢复的时候连分隔符也被选上了---因为它并不占用文字空间。小弟现在强烈期待能有办法通过html代码来确定选择区,目前是没有找到这样的函数,不知各位大虾有何高见?