【发布时间】:2016-02-09 00:13:38
【问题描述】:
经过一些操作后,我在 C# 中使用了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();
}
}
【问题讨论】:
-
取决于你的代码做什么......
-
我应该把整个代码贴在某个地方吗?
-
@Amator,只需通过编辑您的问题在此处发布代码,而不是在评论中添加它。
-
够了吗(部分代码)?
-
我遇到了完全相同的问题。我找到的唯一解决方案是在关闭表单之前添加一点延迟。这是一个非常肮脏的解决方案,但像 DocumentCompleted 这样的所有其他事件都有完全相同的问题。您找到有效的解决方案了吗?
标签: c# webbrowser-control