WinForm中关于窗体如何隐藏的迷惑
当前程序运行时先加载F1窗体(登录窗体),接着加载F2窗体(菜单框架)。
现在要实现的效果为:先加载F1窗体,判断登录成功才加载F2窗体(这种不会实现,有谁会的可以教教我)
我现在的思路是把F1,F2两个窗体全部加载后,然后隐藏F2窗体,接着判断是否登录成功,如果成功我就显示F2窗体。
缺点在于F1,F2两个窗体全部加载完,然后隐藏F2窗体(这个时候可以明细看出F2窗体出现了一下,然后消失)
怎么解决这种问题呢,求各位给点思路..
[解决办法]
可以在入口中写
- C# code
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false);//启动主窗体前,先创建登陆窗体,成功后继续,否则直接退出 Application.Run(new Form1()); }
[解决办法]
上面已经说了
- C# code
LoginForm lf = new LoginForm();//创建登录窗体 DialogResult dr = lf.ShowDialog(); if (dr == DialogResult.OK)//登录通过 { Application.Run(new Form1());//加载主窗体 }
[解决办法]
先加载登录窗体,
登录成功后,就加载主窗体
[解决办法]
启动后值只加载并显示Form1 判断登入成功后加载Form2 Show出来 Form1隐藏 这样可行
[解决办法]
先加载登录窗体,登录后判断是否成功,若成功,关闭登录窗体,执行主界面,否则不关闭登录窗体。
假如Form1是登录窗体,IsLogin是Form1里面的静态变量判断Form1是否登录成功,Form2是主窗体。
在Program中:
Main()
{
Form1 form=new Form1();
form.ShowDialog();
if(Form1.IsLogin)
{
Form2 form2=new Form2();
form2.ShowDialog();
}
}
[解决办法]
最简单的方法 不用在代码里改,
F2界面的Visible属性直接设为false。
然后show出2个窗体,
再判断登录是否成功,
最后修改F2的Visible属性为true