Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 无崩溃的无限循环_Vb.net_Visual Studio_Internet Explorer_Redirect_Infinite Loop - Fatal编程技术网

Vb.net 无崩溃的无限循环

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事件,如下所示: 然后,只有在必要时才会进行条件检查,以避免程序

我有一个VB项目,它是一个web浏览器

如果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