WebBrowser 文本选择更改时触发事件

Trigger event when WebBrowser text selection changed

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

我现在想要的是,当我 select WebBrowser 中的文本时,它会自动复制 TextBox 中的 selected 文本。

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

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

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

您可以将事件处理程序附加到 onselectionchange event of Document of the WebBrowser control using AttachEventHandler method of document. Then you can use properties of 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;
}