如何在打开第三个对话框之前隐藏或关闭第二个对话框而不隐藏/关闭主WinForm

时间:2016-02-19 07:47:36

标签: c# modal-dialog

C#表单是否可以在没有对话框的情况下进行模态化?对话框有替代品吗?因为我认为我无法用对话框实现我想要的东西。我必须(?)使用对话框来确保模态。

首先编辑:

我有主要的Winform。从主Winform我想生成像这样的模态形式

Form2 frm2 = new Form2();
frm2.ShowDialog();

从frm2我想打开新的模态形式frm3,但我想在打开frm3之前关闭frm2。 我想关闭

Form3 frm3 = new Form3();    
frm3.ShowDialog();

我要关闭frm2这是密码对话框;当用户输入正确的密码时,我想关闭frm2并显示高级设置表单frm3。

第二次修改:

一种方法是在打开第三帧之前隐藏第二帧。但是当我尝试

this.Hide()

在第二种形式中,第一种也隐藏了。任何解决方案只隐藏第二个没有第一个?还是其他不同的解决方案?

第三次修改:

编辑标题。

1 个答案:

答案 0 :(得分:0)

我仍然不明白这个问题,但让我们看看这是否是你想要完成的。您有一个主窗口,并希望显示登录对话框,如果登录正确,则显示设置对话框。我就是这样做的:

的MainForm:

FormLogin login= new FormLogin();
if (login.ShowDialog() == true)
{
     FormSettings frmSett= new FormSettings();
     frmSett.ShowDialog();
}

FormLogin:

...
if (LoginOK)
{
     this.DialogResult = true;
}
else
{
     this.DialogResult = false;
}
this.Close();
...

这样的事情。希望有所帮助