Vb.net 无崩溃的无限循环
我有一个VB项目,它是一个web浏览器Vb.net 无崩溃的无限循环,vb.net,visual-studio,internet-explorer,redirect,infinite-loop,Vb.net,Visual Studio,Internet Explorer,Redirect,Infinite Loop,我有一个VB项目,它是一个web浏览器 如果WebBrowser1的url在任何时候都是google.com,我想将其url更改为bing.com(这些url仅用于示例!) 上面是我已经测试过的代码,但每次我使用它时,它都会崩溃并导致程序没有响应 有人知道更好的方法吗?目前我是一个新手程序员。使用事件驱动的方法 与无限循环检查WebBrowser1.Url更改不同,只需在适当的委托中处理WebBrowser1.Url-changed事件,如下所示: 然后,只有在必要时才会进行条件检查,以避免程序
如果WebBrowser1的url在任何时候都是google.com,我想将其url更改为bing.com(这些url仅用于示例!)
上面是我已经测试过的代码,但每次我使用它时,它都会崩溃并导致程序没有响应
有人知道更好的方法吗?目前我是一个新手程序员。使用事件驱动的方法 与无限循环检查
WebBrowser1.Url
更改不同,只需在适当的委托中处理WebBrowser1.Url
-changed事件,如下所示:
然后,只有在必要时才会进行条件检查,以避免程序瘫痪
查看活动的参考资料;而且也很普遍
*我之所以说喜欢,是因为我不是在我的机器上钉下每一个小细节,只是提供大致的方向。此外,检查准确的URL匹配可能没有更灵活的方法有用-例如,不假设HTTP URL方案并考虑HTTPS URL方案的可能性等。在导航事件中添加对Stop()的调用。
Do
If WebBrowser1.Url = ("http://www.google.com") Then
WebBrowser1.Navigate(New Uri("http://www.bing.com"))
End If
Loop
Private Sub webBrowser1_Navigating( _
ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _
Handles webBrowser1.Navigating
If e.Url.OriginalString = "http://www.google.com/" Then
WebBrowser1.Stop() ' Thanks, @Steve.
WebBrowser1.Url = New Uri("http://www.bing.com")
End If
End Sub