如何将插入位置移动到当前单词的结尾?

时间:2009-01-02 16:45:41

标签: c# winforms webbrowser-control

我正在使用webbrowser控件。如何将execCommand的插入位置移动到当前选定的单词的末尾?

示例:

| < - 当前插入位置

Som | eword - >移动 - > Someword | - > execCommand在当前单词

之后执行

我想要做的是插入一条线而不用刹车。现在发生的事情是:

Somew | ord - >线

Somew


ORD

应该发生的事情是:

Somew | ord - >线


Someword

1 个答案:

答案 0 :(得分:0)

这太乱了,我几乎不好意思发布它,但是......你可以通过做类似

之类的事情来完成“使用webbrowser控件插入一行而不会破坏单词”
webBrowser1.Url = 
            new Uri("javascript:" +
                "var tr=document.selection.createRange();" +
                "tr.expand('word');" +
                "tr.collapse(false);" +
                // "tr.select();" // Necessary to actually move the caret
                "tr.pasteHTML('<hr>');");

webbrowser加载了您要操作的文档后,用户选择了他们想要在之后插入一行的文本。如果您确实需要移动插入符号,则在tr.select()后需要tr.collapse()

虽然它不使用execCommand,但它可能不适合您的目的。也许其他人可以找到一种方法让这个更清洁...