WinForms导航事件

时间:2017-05-23 19:03:15

标签: c# winforms events event-handling webbrowser-control

我创建了一个winForms应用程序,该应用程序使用Web浏览器控件,用户可以使用他的google或facebook帐户登录,然后在获取信息或任何错误或异常后,包含Web浏览器的表单将关闭并返回到主要表单,我执行以下操作,准备请求,使用该请求导航()然后捕获事件导航的响应。 在代码中一切正常,但是当我构建为Release并安装应用程序时,Navigated事件永远不会被激活,这真的很奇怪,因为我的代码中没有任何东西处于调试状态,任何想法如何解决这个问题?< / p>

表单加载事件中的代码为:

private void GoogleLogin_Load(object sender, EventArgs e)
    {
        AuthHelper authHelper = new AuthHelper();

        Uri loginURI = authHelper.GetGoogleAuthURI(_appID, redirectURI);
        GoogleLoginControl.Navigate(loginURI);
    }

导航事件中Web浏览器控件的代码

private void GoogleLoginControl_Navigated(object sender, WebBrowserNavigatedEventArgs e)
    {
        CoreStaticMembers.ologger.LogToFile("Navigated event with the absolute URL "+ e.Url.AbsoluteUri );
        MessageBox.Show("Navigated event is fired");
        ///used if parameters are empty so ignore the following messages
        bool ignore = false;
        string code = null;

        if (e.Url.AbsolutePath.Equals("/connect/login_success.html"))
        {
            AuthHelper authHelper = new AuthHelper();
            //NameValueCollection parameters = HttpUtility.ParseQueryString(e.Url.Query);
            try
            {
                NameValueCollection parameters = HttpUtility.ParseQueryString(e.Url.Query);
                if (parameters != null)
                {
                    string jsonResponse = null;

之后继续正常的身份验证和数据获取,请记住,只有当我构建为Release然后安装应用程序时才会出现此问题,导航甚至会针对Web浏览器控件触发,Load事件也是如此为父表格 提前致谢

更新  顺便说一下,当我通过在表单构造函数中调用Initialize函数来初始化表单时,我也尝试使用所需的URL进行导航,但是出现了同样的问题,

1 个答案:

答案 0 :(得分:0)

我发现此问题与DLL文件相关的兼容性问题有关,特别是“Newtonsoft”DLL。