两个窗体,MainForm:登入后的主窗体LoginForm:登入窗体
MainForm mainForm = new MainForm();
mainForm.Show();
this.Hide();
MessageBox.Show(“”);我测试了大概10台电脑 每台电脑有时候LoginForm会隐藏,有时候不会,关键的是我加的messagebox跳出来了,
但是this.Hide();没执行!?? 所有电脑隐藏都是时有时没有,只有我开发的这台电脑从来没有问题。
但是所有电脑运行环境都一样啊,都是FW4.0,谁能帮帮我?头要炸了
MainForm mainForm = new MainForm();
mainForm.Show();
this.Hide();
MessageBox.Show(“”);我测试了大概10台电脑 每台电脑有时候LoginForm会隐藏,有时候不会,关键的是我加的messagebox跳出来了,
但是this.Hide();没执行!?? 所有电脑隐藏都是时有时没有,只有我开发的这台电脑从来没有问题。
但是所有电脑运行环境都一样啊,都是FW4.0,谁能帮帮我?头要炸了
MainForm mainForm = new MainForm();
this.Hide();
mainForm.Show();
MessageBox.Show(“”);
// 貌似这段代码是在 LoginForm 的 Load 事件里面的,是吗?
// 如果是的话,为什么不在 Program.cs 文件里面写如下代码?
using (LoginForm login = new LoginForm())
{
if (login.ShowDialog() == DialogResult.OK)
{
// 保存登录用户等相关信息,有待 MainForm 使用
}
else
{
Application.Exit();
}
}MainForm main = new MainForm();
// 设置用户等必要属性
main.User = loginUser;
// and others ......Application.Run(main);
是这个意思:我登入窗体上有“登入按钮” 是在按钮的单击事件中
private void btnLogin_Click(object sender, EventArgs e)
{
//if(如果用户名密码正确)
{
MainForm mainForm = new MainForm();
mainForm.Show();
this.Hide();
MessageBox.Show(“”);
}
}我只想知道为什么messagebox都跳出来了 为什么this.Hide();没执行
试试这样是不是你想要的结果。
MainForm mainForm = new MainForm();
mainForm.Show();
this.Hide();
this.ShowInTaskbar = false;不知道为什么会隐藏任务栏 窗体就会消失,但是结果却是正确的 ,很郁闷
当 Window 类实例化时,默认情况下是不可见的。 ShowDialog 显示窗口,禁用应用程序中的所有其他窗口,并且仅在窗口关闭后才返回。 这种类型的窗口称为“模式”窗口。
// 在 LoginForm 登录按钮里面创建并弹出一个主窗体,这个实现本身是不可取的。
// 单从逻辑上来说,LoginForm 本身就应该从属于 MainForm(如果硬要嵌套调用的话)。
// 那么,实现就应该是在 MainForm 的 Load 事件里面 Show LoginForm,而不是反过来。
// 这也是一种实现方式,而我个人认为,无论是哪一个,他们相互之间不应该产生强耦合的关系。
// 这两种方式都在无意中形成了包含和被包含的关系。
mainForm.Show();
this.Visable=false;
MessageBox.Show(“”);