2017-03-04 87 views
3

兩部分我的程序是一個WinForms WebBrowser和簡單TextBox觸發事件,當web瀏覽器文本選擇改變

我現在想要的是,當我在WebBrowser中選擇文本時,它會自動複製TextBox中的選定文本。

我找不到這個對谷歌什麼,所以我會很高興,如果有人可以幫助我!

回答

3

您可以將一個事件處理程序onselectionchange事件中使用的文檔AttachEventHandler方法WebBrowser控制Document。然後你可以使用的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; 
} 
+0

謝謝!像魅力一樣工作。 –

+0

不客氣:) –

0

你可以試試這個,但是這需要一個觸發例如按鈕點擊你的TextBox1中要傳遞的價值。不幸的是,WebBrowser控件不支持鼠標事件。

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

我已閱讀,已經在其他職位,但如何選擇東西的時候會知道?我不能運行這個方法沒有得到的信息是,選擇改變 –

+0

鼠標事件,不幸的是沒有在WebBrowser控件@MartinNiederl –

+0

我知道支持的,這就是爲什麼我問這個問題的原因,因爲會有辦法怎麼辦這樣的:d –

相關問題