当其他表格打开时关闭表格

时间:2015-02-09 10:41:13

标签: c# winforms

目前的问题是" mainScreen"出现,但立即关闭,我不明白为什么。这是处理新表单的关闭和打开的代码段。

编辑:。这是指Login.cs(对不起)

 if(templogin == true && permission.Equals("1"))
 {
                mainScreen.IsAdmin();
                this.Close();
                mainScreen.ShowDialog();
 }

2 个答案:

答案 0 :(得分:5)

我认为,在另一个表单运行之前,您不应该关闭应用程序(因为登录表单在启动应用程序时似乎是主表单): 这样做:

if(templogin == true && permission.Equals("1"))
 {
                this.Hide();
                mainScreen.IsAdmin();
                mainScreen.ShowDialog();
                this.Close();

 }

答案 1 :(得分:1)

如果您想要运行2个表单(从一个表单切换到另一个表单),那么您应该在Main

中执行此操作

而不是

Application.Run(new StartupForm());

你必须使用

var startup = new StartupForm();
startup.ShowDialog();
if(somecondition) // when StartupForm is closed and return something (or property is set, etc)
{
    var main = new MainScreen();
    main.ShowDialog();
}

使用Application.Run时,您根本不需要ShowDialog