2010-05-13 67 views
2

在WinForms應用程序中,我需要檢測System.Windows.Forms.WebBrowser的內容何時被雙擊,從而打開自定義的Winform對話框。如何檢測雙擊WebBrower控件?

我注意到WebBrowserBase禁用了Control.DoubleClick事件,但我還沒有弄清楚如何覆蓋這種行爲。

回答

9

MouseDown也被禁用。這是因爲鼠標事件發送到DOM。您可以使用HtmlElement.AttachEventHandler()方法訂閱DOM事件。例如:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     webBrowser1.Url = new Uri("http://stackoverflow.com"); 
     webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted; 
    } 

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { 
     webBrowser1.Document.Body.AttachEventHandler("ondblclick", Document_DoubleClick); 
    } 

    void Document_DoubleClick(object sender, EventArgs e) { 
     MessageBox.Show("double click!"); 
    } 
} 
+0

完美!謝謝。 – 2010-05-13 13:34:35