我在VB.NET 2005中的標準窗體窗體上有一個Webbrowser控件。我只是想要檢測何時有人單擊Webbrowser控件內的鏈接,它只是告訴我什麼他們點擊或試圖去的地方,然後取消流程。vb.net檢測如果在Webbrowser控件中單擊一個鏈接
我試圖把..
MsgBox(e.Url)
e.Cancel = True
裏面的WebBrowser1_Navigating事件,但什麼都不做。誰能幫忙?
我在VB.NET 2005中的標準窗體窗體上有一個Webbrowser控件。我只是想要檢測何時有人單擊Webbrowser控件內的鏈接,它只是告訴我什麼他們點擊或試圖去的地方,然後取消流程。vb.net檢測如果在Webbrowser控件中單擊一個鏈接
我試圖把..
MsgBox(e.Url)
e.Cancel = True
裏面的WebBrowser1_Navigating事件,但什麼都不做。誰能幫忙?
這就是問題所在:
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
你可以嘗試像添加一個處理程序爲每個鏈接:
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
這可以工作,直到您點擊打開一個新窗口的鏈接,例如target =「_ blank」鏈接和下載鏈接。 – eqiz