小弟写一个MIS,由于C/S架构,所以就想在登陆的时候用线程来控制弹出的窗口,但是试了多次,始终不得其法,希望版内高手们不吝赐教.

解决方案 »

  1.   

    在线程里可通过异步调用来访问界面控件,如:
    //线程里调用
         BeginInvoke(new MethodInvoker(Test));private void Test()
            {
                //访问界面控件...
            }
      

  2.   

      public delegate void MesHandler( MessageEventArgs e);//定义为托 参数自己定  this.Invoke(new MesHandler(ReMessage), new object[] { e });  private void ReMessage(MessageEventArgs e)
            {
                FrmChat Fc = new FrmChat();
                Fc.Show();
            }
      

  3.   

    我也有类似的问题……,一个窗口需要new很久,我做了一个多线程的进度条,但总是效果不好。
      

  4.   

      可以通过backgrounderwork 类 
                        System.ComponentModel.BackgroundWorker work = new System.ComponentModel.BackgroundWorker();
                        work.DoWork+=new System.ComponentModel.DoWorkEventHandler(work_DoWork); //把复杂的逻辑处理放置该方法内
                        work.ProgressChanged //进度
                        work.RunWorkerCompleted //处理完毕
    或者
      多线程调用控件的invoke 异步调用
      

  5.   

     c#中如何控制模态子窗体中的进度条http://blog.csdn.net/jinjazz/archive/2008/05/24/2477088.aspx