首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

两个有关问题 一个webbrowser一个窗体关闭

2013-09-25 
两个问题 一个webbrowser一个窗体关闭问题1:webBrowser1. NavigateUrl(url)当这个url是百度,新浪什么的时

两个问题 一个webbrowser一个窗体关闭
问题1:webBrowser1. NavigateUrl(url);
当这个url是百度,新浪什么的时候 可以访问的,
换成自己做的网站就不行了(IE里可以访问)...


        private void Main_Load(object sender, EventArgs e)
        {
            //_tmState = new System.Threading.Timer(new TimerCallback(DetectionXLHState), this, 1000, 1000);
            string url = ClientMethod.TICKETHOST + "?from=client&jid=" + jid;
            NavigateUrl(url);

            wbBuyCaipiao.IsWebBrowserContextMenuEnabled = false;
        }

        public delegate void DelUserHandler(string url);

        public void NavigateUrl(string url)
        {
            if (this.wbBuyCaipiao.InvokeRequired)
            {
                DelUserHandler handler = new DelUserHandler(NavigateUrl);
                this.Invoke(handler, url);
            }
            else
            {
                wbBuyCaipiao.Navigate(url);
            }
        }


问题2:有好几个窗体 主窗体A  当窗体A获取到信息时自动弹出B(showDailog()方式  Show()方式打开看不到窗体) B登录后打开窗体C(ShowDialog模式)   C在执行完毕后关闭  关闭C的同时需要关闭B  我把B窗体作为参数传到C  但是在C窗体里写 B.Dispose() 无效 请大侠

  //A窗体
  public void GetPhone_RunningEvent(object sender)
        {

            if (waitPhone.Count > 0)
            {
                Phone ph = waitPhone[0];


                if (string.IsNullOrEmpty(waitPhone[0].Error))
                {
                    waitPhone.RemoveAt(0);
                    TelCustomerLogin(ph.Number);
                    if (!CallUser.success)
                    {
                        CallCustomerLogin ccl = new CallCustomerLogin(ph);  //A打开B
                        ccl.ShowDialog();
                    }
                    else
                    {
                        Main m = new Main(CallUser); //A打开C
                        m.ShowDialog();
                    }

                }
                else
                {
                    waitPhone.RemoveAt(0);
                    GetPhone_RunningEvent(null);
                }
            }

        }




  //B窗体


  private void btnLogin_Click(object sender, EventArgs e)
        {
            u = ClientMethod.UserLogin("api/login", new List<string>() { txtName.Text.Trim(), txtPwd.Text.Trim() });
            if (u.success)
            {
                Main m = new Main(u, this);   //B窗体打开C
                m.ShowDialog();
              
            }
            else
            {
                MessageBox.Show(u.message);
                txtPwd.Text = "";
            }
        }




//C窗体
 private static CallCustomerLogin cl;
        public Main(User u, CallCustomerLogin ccl)
        {
            InitializeComponent();
            cl = ccl;
        }

  private void Main_FormClosing(object sender, FormClosingEventArgs e)
        {
            //this.Dispose();
            if (cl != null)
            {
                cl.Dispose();
            }
        }



webbrowser winform


[解决办法]
问题1:使用你自己的网址时指明在IE中打开的端口号了
问题2:你设置一个全局变量来访问B窗体试试
[解决办法]
该回复于2013-09-22 11:12:29被管理员删除

热点排行