【问题标题】:TextRange is not selected/highlighted in WebBrowser control在 WebBrowser 控件中未选择/突出显示 TextRange
【发布时间】:2015-05-24 12:18:37
【问题描述】:

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

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);
            }
        }


    }
}

【问题讨论】:

    标签: javascript c# winforms range webbrowser-control


    【解决方案1】:

    在我的例子中,body 元素 visibility 被设置为 hidden

    如果body 元素或selection 的父元素不可见,则选择突出显示在WebBrowser 控件中可能不起作用(style.visibility = "hidden"

    【讨论】:

      猜你喜欢
      • 2016-04-13
      • 2017-07-14
      • 2011-08-02
      • 2011-02-14
      • 2012-12-11
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 2011-02-01
      相关资源
      最近更新 更多