2013-01-08 45 views
1

我在VB.NET 2005中的標準窗體窗體上有一個Webbrowser控件。我只是想要檢測何時有人單擊Webbrowser控件內的鏈接,它只是告訴我什麼他們點擊或試圖去的地方,然後取消流程。vb.net檢測如果在Webbrowser控件中單擊一個鏈接

我試圖把..

MsgBox(e.Url) 
e.Cancel = True 

裏面的WebBrowser1_Navigating事件,但什麼都不做。誰能幫忙?

回答

1

這就是問題所在:

MSGBOX(e.Url)

試試這個:

MSGBOX (e.Url.ToString())

Private Sub WebBrowser1_Navigating(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating 
    If MsgBox("You are trying to go to:" & vbCr & e.Url.ToString() & vbCr & "Cancel Navigate?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then 
     e.Cancel = True 
    End If 
End Sub 
+0

這可以工作,直到您點擊打開一個新窗口的鏈接,例如target =「_ blank」鏈接和下載鏈接。 – eqiz

1

你可以嘗試像添加一個處理程序爲每個鏈接:

For Each htmlEle As HtmlElement In Webbrowser1.document.Links 
    addhandler htmlElec.click, addressof YourSub 
Next 

private sub YourSub() 
    'do what you want here 
end sub