Bog*_*dan 5 c# dialog winforms
我正在尝试制作一个小项目,该项目对不同状态使用多种表单(对话框)并遇到一些问题。我的对话框是登录、设置和显示。应用程序启动时显示登录表单
Application.Run(new login());
用户可以从中打开“设置”表单,或者如果满足某些要求,则可以打开“显示”表单。
Q1:如何在打开设置表单时使用户无法使用登录表单(我希望用户完成设置表单中的字段,然后单击“保存”按钮退出,然后他才能在登录表单中执行任何其他操作)
Q2:如何在用户打开显示表单时隐藏登录表单,并在用户关闭显示表单时再次显示它。
对于 Q1:我没有想法,我只是想我可以做与 Q2 相同的事情。
对于 Q2:我尝试将登录表单对象发送到显示表单以使用 ShowDialog() 方法。
在登录表单中,我隐藏表单并显示如下所示的显示表单:
this.Hide();
Display cat = new Display(ConString, idp, this);
cat.ShowDialog();
在显示表单中,我尝试在退出时关闭对话框并像这样显示登录表单
private void Display_FormClosed(object sender, FormClosedEventArgs e)
{
    this.Close();
    this.l.ShowDialog();
}
其中 l var 是发送到 Display 构造函数的 Login 对象,类型为 Login。问题是显示表单没有关闭,如果用户再次单击显示,将显示一个新对话框,我想要最多 1 个显示表单实例。
谢谢
Q1 和 Q2:在登录表单代码中:
using (SettingsForm frm = new SettingsForm())
{
   Hide();
   frm.ShowDialog(this);
   Show();
}
当一个窗体控制另一个窗体时,您通常会看到这种情况。  ShowDialog将停止选择父表单,您将看到对话框闪烁,并且系统应该发出声音来指示这一点。
ShowDialog也会阻塞直到表单关闭,因此它会一直等到您关闭表单。您可以对任何生成另一个表单并需要等待它被使用的表单重复此代码。
| 归档时间: | 
 | 
| 查看次数: | 1119 次 | 
| 最近记录: |