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。