【发布时间】:2017-05-02 09:17:09
【问题描述】:
我有一个登录表单,在验证用户后,我使用以下代码调用主表单:
frmMain frm = new frmMain();
Hide()
frm.ShowDialog();
Show();
问题是当我尝试使用 Hide() 或 Visible = false 隐藏主窗体以将应用程序最小化到托盘栏时,主窗体被关闭并且应用程序将我返回到登录窗体,就像我按下关闭按钮。
Hide() 和 Show() 如何工作?它会创建另一个实例吗?
【问题讨论】:
-
您可以先显示登录表单:
formLogin.ShowDialog();,然后再显示mainForm.ShowDialog();,而不是玩弄可见性。否则你的问题是不完整的:你如何将应用程序最小化到托盘栏,你如何恢复,会发生什么以及你期望发生什么?描述 “主窗体关闭,应用程序将我返回到登录窗体,就像我按下关闭按钮一样” 没有清楚地解释问题。 -
隐藏对话框将始终关闭它。您必须改用 Show()。考虑使用主窗体的 FormClosing 事件使其再次可见。