如何将一个窗体加载到另一个窗体中作为第三个窗体事件的子窗体

本文关键字:窗体 三个 事件 一个 加载 另一个 | 更新日期: 2023-09-27 18:22:11

希望我能尽可能清楚地说明

我有三种形式:frmMainfrmLoginfrmDashboard

当应用程序打开时,frmMain以mdiParent打开,frmLogin以mdiChild打开。用户输入正确的凭据后,frmLogin将隐藏,frmDashboard将作为frmMain的子级打开。

问题是,我似乎无法让frmMain成为frmDashboard的父级,因为它是从frmLogin 打开的

点击frmLogin登录按钮上的代码如下:

if (account_exist == true)
{
   MessageBox.Show("Welcome back ");
   frmDashboard f = new frmDashboard();
   f.Show();
   this.Hide();
}

有人能帮我找到实现这一目标的最佳方法吗?

如何将一个窗体加载到另一个窗体中作为第三个窗体事件的子窗体

有人能帮我找到实现这一目标的最佳方法吗?

做到这一点的最佳且仅有正确方法是分离关注点。

除了登录之外,您的登录表单不负责做任何事情,并且应该在登录过程完成时通知主表单。一旦发生这种情况,主表单应该显示与登录后阶段相关的任何UI元素。