winform 登录后跳转百度地图报错 使用委托解决

  最近用winform做一个登录后跳转到百度地图的小程序,使用了线程,winform的UI是单线程操作的,由于百度地图写在另外一个窗体,导致报错。后来使用了委托解决了这个小问题。

     delegate void MainUIWork();//委托跳转到主页面(委托)
        public void ShowUI()
        {
            this.Hide();
            indexForm fm = new indexForm();
            fm.ShowDialog();
        }
        private void LoginToCloud(object obj)
        {

            HandsWithCloudSocket.LoginToCloud(username, pwd);
            int i = 0;
            while (true)
            {
                Console.WriteLine("登录状态:" + HandsWithCloudSocket.GetLoginStatus().ToString());
                sta = HandsWithCloudSocket.GetLoginStatus().ToString();
                if (sta == LoginStatus.LoginSuccess.ToString())
                {
                    Console.WriteLine("ok");
                    MainUIWork show = new MainUIWork(ShowUI);//(委托)
                    this.BeginInvoke(show);//(委托)
                    break;
                }

  通俗讲意思就是这个主线程ui有空的时候,帮忙处理下跳转的页面ui。

posted @ 2017-03-02 11:07  肥皂泡泡oO  阅读(143)  评论(0编辑  收藏  举报