******WinForm下的问题*********
【注意:在VS2005下的问题】我想在用户输入登录信息并点击登录按钮后,
  1:弹出出一个小窗体显示系统处理中....
  2:登录窗体隐藏
  3:检测用户登录信息,
    登录成功的时候关闭显示繁忙信息的小窗体和登录窗体,进入主界面,
    登录失败的时候关闭显示繁忙信息的小窗体并提示错误信息并重新返回登录窗体。
这个是很多系统都要有的东西,在05里面怎么那么难弄在03里面可以跨线程调用控件,在05里面不行,要用委托来实现但是我弄了2个小时都没成功,那位高手指点下
或者有这方面的源代码看看也可以,【05上的03上的不算】

解决方案 »

  1.   

    05里面不允许A线程直接调用属于B线程的控件;
    在B线程里面相关委托函数里面写上 controlName.InvokeRequired 的判断 就能解决了
    例如:
            /// <summary>
            /// 托管:关闭fShowBusy窗体
            /// </summary>
            private void CloseFShowBusy()
            {
                //检查调用的线程和创建线程是否为同一个线程
                if (fShowBusy!=null && fShowBusy.InvokeRequired)
                {
                    fShowBusy.Invoke(operForms);
                }
                else
                {
                  if(fShowBusy.Created) fShowBusy.Close();
                }
            }