WebBrowser控件打开一个新窗口

时间:2013-02-21 10:30:30

标签: webbrowser-control facebook-oauth

我正在使用Facebook授权的WPF客户端。我正在使用WebBrowser控件并显示facebook的登录页面,然后显示一些重定向,最后它向我显示我的页面,其中包含访问令牌。

然后我抓住这个令牌并保存它,我在我的表单上调用Close()。窗口关闭但几乎就在IE弹出一个单独的窗口显示成功页面之后。

如何阻止此新窗口弹出?

这是我的代码(其中一些)

private void WebBrowserNavigated(object sender, WebBrowserNavigatedEventArgs e)
{

   string url = e.Url.ToString();

   var result = Regex.Match(url, @"access_token=(?<token>[\d|\w]+)&");
   if (result.Success)
   {
      string token = result.Groups["token"].Value;
      Reader.SetAccessToken(token, SocialNetworkInformation.SocialNetwork.Facebook, url: e.Url);

       this.Close();
   }  
}

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。不是最好的方式,但它有效。

我没有在收到回复后立即关闭表单,而是调用关闭此表单的委托方法。在0.3秒设置计时器。窗口存在足够长的时间来接收答案,但不足以让用户看到响应。