未在 Web 浏览器控件中选择/突出显示文本范围

本文关键字:显示 文本 范围 选择 Web 浏览器 控件 未在 | 更新日期: 2023-09-27 17:50:31

我尝试在 Web 浏览器控件中选择(突出显示(文本,我使用了以下代码。当用户选择一个单词并单击按钮时,必须选择并突出显示句子的其余部分(在此代码中(,但不突出显示任何内容。

range.htmlText显示了一个包含父元素和句子的 HTML,从选择开始到结束,但没有突出显示任何内容,execCommand只是在手动选择的单词上运行!

if (webBrowser1.Document != null)
{
    IHTMLDocument2 doc =
        webBrowser1.Document.DomDocument as IHTMLDocument2;
    IHTMLBodyElement body = doc.body as IHTMLBodyElement;
    if (body != null)
    {
        IHTMLTxtRange range;
        if (doc.selection != null)
        {               
            if (doc.selection.type == "Text")
            {                        
               range = doc.selection.createRange() as IHTMLTxtRange;
               range.moveEnd("sentence"); //word, character,....
               range.select();
               webBrowser1.Document.ExecCommand("cut", true, null);
            }
        }

    }
}

未在 Web 浏览器控件中选择/突出显示文本范围

在我的情况下,body元素visibility设置为 hidden .

如果selectionbody元素或父元素不可见,则选择突出显示可能无法在控件WebBrowser工作 ( style.visibility = "hidden" (