有Form1和Form2,在同一个命名空间Form1做为登录界面负责连接服务端进行验证,数据传输用Remoting,委托和事件,根据验证的结果是否创建Form2创建FORM2是在委托链中进行。 private Form2 f2 = null; //这个函数是触发委托链,已经触发了,并且正确的获得了sh这个值。
void VerifyShowEvent(bool sh)
{
if (sh)
{
//MessageBox.Show("OK");//已经显示说明已经获得sh值。
f1.Hide(); //隐藏Form1窗体
f2=new Form2();//创建Form2窗体
f2.Show();//显示
//创建并且显示成功,但是显示的f2锁住了动都动不了,而且不能接受鼠标和键盘的消息,
//看了MSDN的说明,在窗体加载的时候已经Control.CheckForIllegalCrossThreadCalls = false; 了
//但是还是f2锁住了动都动不了?还有没有其他的方法创建窗体?
}
}
void VerifyShowEvent(bool sh)
{
if (sh)
{
//MessageBox.Show("OK");//已经显示说明已经获得sh值。
f1.Hide(); //隐藏Form1窗体
f2=new Form2();//创建Form2窗体
f2.Show();//显示
//创建并且显示成功,但是显示的f2锁住了动都动不了,而且不能接受鼠标和键盘的消息,
//看了MSDN的说明,在窗体加载的时候已经Control.CheckForIllegalCrossThreadCalls = false; 了
//但是还是f2锁住了动都动不了?还有没有其他的方法创建窗体?
}
}
Application.Run(new Form2());