
在VB2008中,webbrowser将要打开一个ie窗口时,如何获取要打开的网址,并不让它打开ie窗口?
展开全部
Imports System.Text.RegularExpressions
Public Class Form1
Dim s As String
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
For Each element As HtmlElement In WebBrowser1.Document.All
If element.TagName.Equals("A") Then
AddHandler element.MouseMove, AddressOf element_Move
End If
Next
End Sub
Private Sub element_Move(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim dom As String = TryCast(sender, HtmlElement).Document.Url.ToString
Dim href As String = Regex.Match(TryCast(sender, HtmlElement).OuterHtml, "(?<=<A.*href="")[^""]+").Value
If href.Contains("http") Then
s = href
Else
s = dom & href
End If
Label1.Text = s
End Sub
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
e.Cancel = True
Dim f As New Form1
f.WebBrowser1.Navigate(s)
f.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate("www.baidu.com")
WebBrowser1.IsWebBrowserContextMenuEnabled = False
End Sub
End Class
Public Class Form1
Dim s As String
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
For Each element As HtmlElement In WebBrowser1.Document.All
If element.TagName.Equals("A") Then
AddHandler element.MouseMove, AddressOf element_Move
End If
Next
End Sub
Private Sub element_Move(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
Dim dom As String = TryCast(sender, HtmlElement).Document.Url.ToString
Dim href As String = Regex.Match(TryCast(sender, HtmlElement).OuterHtml, "(?<=<A.*href="")[^""]+").Value
If href.Contains("http") Then
s = href
Else
s = dom & href
End If
Label1.Text = s
End Sub
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
e.Cancel = True
Dim f As New Form1
f.WebBrowser1.Navigate(s)
f.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate("www.baidu.com")
WebBrowser1.IsWebBrowserContextMenuEnabled = False
End Sub
End Class
2011-03-13
展开全部
参考MSDN上的示例(webBrowser1.Navigating是在 WebBrowser 控件导航到新文档之前发生的事件, e.Url.ToString()就是网址, e.Cancel = True就是停止):
Private Sub webBrowser1_Navigating( _
ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _
Handles webBrowser1.Navigating
Dim document As System.Windows.Forms.HtmlDocument = _
webBrowser1.Document
If document IsNot Nothing And _
document.All("userName") IsNot Nothing And _
String.IsNullOrEmpty( _
document.All("userName").GetAttribute("value")) Then
e.Cancel = True
MsgBox("You must enter your name before you can navigate to " & _
e.Url.ToString())
End If
End Sub
Private Sub webBrowser1_Navigating( _
ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _
Handles webBrowser1.Navigating
Dim document As System.Windows.Forms.HtmlDocument = _
webBrowser1.Document
If document IsNot Nothing And _
document.All("userName") IsNot Nothing And _
String.IsNullOrEmpty( _
document.All("userName").GetAttribute("value")) Then
e.Cancel = True
MsgBox("You must enter your name before you can navigate to " & _
e.Url.ToString())
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询