【问题标题】:Trigger event when WebBrowser text selection changedWebBrowser 文本选择更改时触发事件
【发布时间】:2017-07-24 11:52:13
【问题描述】:

我的程序的两个部分是一个winforms WebBrowser 和一个简单的TextBox

我现在想要的是,当我在WebBrowser 中选择一个文本时,它会自动复制TextBox 中的选定文本。

我在 google 上找不到任何关于此的信息,所以如果有人可以帮助我,我会很高兴!

【问题讨论】:

    标签: c# .net winforms webbrowser-control textselection


    【解决方案1】:

    您可以使用文档的AttachEventHandler 方法将事件处理程序附加到WebBrowser 控件的Documentonselectionchange 事件。然后您可以使用DomDocument 的属性来获取选定的文本。

    示例

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    {
        webBrowser1.Document.AttachEventHandler("onselectionchange", selectionchange);
    }
    private void selectionchange(object sender, EventArgs e) 
    {
        dynamic document = webBrowser1.Document.DomDocument;
        dynamic selection = document.selection;
        dynamic text = selection.createRange().text;
        this.textBox1.Text= (string)text;
    }
    

    【讨论】:

      【解决方案2】:

      您可以试试这个,但这需要一个触发器示例,即单击按钮以将值传递到您的 TextBox1。很遗憾,WebBrowser 控件不支持鼠标事件。

       dynamic document = webBrowser1.Document.DomDocument;
       dynamic selection = document.selection;
       dynamic text = selection.createRange().text;
       TextBox1.Text = text;
      

      【讨论】:

      • 我已经在其他帖子中读到过,但是我怎么知道什么时候选择了?我不能只运行这个方法而不得到选择改变的信息
      • 遗憾的是,WebBrowser 控件不支持鼠标事件@MartinNiederl
      • 我知道,这就是我问这个问题的原因,因为会有办法做到这一点:D
      猜你喜欢
      • 2013-12-13
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 2014-02-12
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多