C# 关闭WebBrowser表单将在标准浏览器中打开URL

C# 关闭WebBrowser表单将在标准浏览器中打开URL,c#,webbrowser-control,C#,Webbrowser Control,在一些操作之后,我使用this.Close()应使用WebBrowser元素关闭窗体。但在关闭它之后,我的标准安装浏览器(Chrome)将打开WebBrowser元素的最后一个URL。我怎样才能避免这种情况? 我正在使用的代码 public Vk_connect() { string url = "https://oauth.vk.com/authorize?client_id=" + appID + "&scope=friends,photos,audio,vi

在一些操作之后,我使用
this.Close()应使用WebBrowser元素关闭窗体。但在关闭它之后,我的标准安装浏览器(Chrome)将打开WebBrowser元素的最后一个URL。我怎样才能避免这种情况?
我正在使用的代码

public Vk_connect()
    {
        string url = "https://oauth.vk.com/authorize?client_id=" + appID + "&scope=friends,photos,audio,video,docs,notes,wall,messages&redirect_uri=https://oauth.vk.com/blank.html&display=popup&response_type=token";
        this.Text = "Connect to VK";
        InitializeComponent();
        this.vkconnect.Navigate(url);
        vkconnect.Navigated += vkconnect_Navigated;
    }

    void vkconnect_Navigated(object sender, WebBrowserNavigatedEventArgs e)
    {
        token = vkconnect.Url.ToString();
        if (token.Contains("#access_token"))
        {
            token = token.Split('#')[1];
            id = token.Split('=')[3];
            token = token.Split('&')[0];
            token = token.Split('=')[1];
            config.token = token;
            config.userid = id;
            vkconnect.Stop();
            this.Close();
        }
    }

我通过查看
webBrowser1.StatusText
检查浏览器是否已完成所有重定向

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
    if (webBrowser1.StatusText.Equals("Done"))
    {
        this.Close();
    }
}

取决于你的代码是什么。我应该把整个代码发布到某个地方吗?@Amator,只需在这里发布代码,编辑你的问题,而不是在评论中添加。这足够了(代码的一部分)吗?我也有同样的问题。我找到的唯一解决办法是在关闭表单之前增加一点延迟。这是一个非常肮脏的解决方案,但是像DocumentCompleted这样的所有其他事件都有完全相同的问题。你找到有效的解决方案了吗?