1

私は VB.NET 2005 の標準的な Windows フォームに Webbrowser コントロールを持っています。誰かが Webbrowser コントロール内のリンクをクリックしたことを検出したいだけで、何をクリックしたか、またはどこに行こうとしているかを教えてから、プロセスをキャンセルします。 .

入れてみた..

MsgBox(e.Url)
e.Cancel = True

WebBrowser1_Navigating EVENT の内部ですが、何もしません。誰でも助けることができますか?

4

2 に答える 2

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
于 2013-01-09T10:54:09.837 に答える
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
于 2013-01-09T17:29:34.830 に答える