gpt4 book ai didi

c# - 显示以前隐藏的相同表格

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:06 25 4
gpt4 key购买 nike

在我的项目中,有两种形式frmLoginfrmMain。从frmLogin成功登录后,我通过执行以下操作向用户显示frmMain表单:

frmLogin形式的button_click事件中:

frmMain main = new frmMain();
main.Show();
this.Hide();


frmMain中,当用户注销时,我想显示相同的 frmLogin形式(而不是实例)。这该怎么做?

我尝试了以下代码:(创建了我不想的 frmLogin的另一个实例)

frmMain形式的 button_click事件中:

if (MessageBox.Show("Do you really want to log out?", "Alert", MessageBoxButtons.YesNo).Equals(DialogResult.Yes))
{
this.FormClosing -= frmMain_FormClosing;
//
Process p = new Process();
p.StartInfo.FileName = Application.ExecutablePath;
p.Start();
//
this.Dispose();
}


我也尝试使用 internal说明符,但没有用。

编辑:作为一名实习生,我不允许使用 Static关键字和更改 program.cs。如果上述方法要求使用受限方法(我已经提到过),那么请建议我使用另一种方法。

最佳答案

您要做的就是将登录页面分配为owner of nextform to be opened

在您要打开nextForm的登录页面调用以下函数中

void openNextForm()
{
Form f2 = new YourForm();
f2.owner=this;
f2.Show();
this.Hide();
}


在您的nextForm(例如mainForm)中,在您单击按钮之后单击

void ButtonLogOut_Click(object sender, EventArgs e)
{
this.Owner.Show();
this.Hide();
this.Dispose();
}

关于c# - 显示以前隐藏的相同表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13226393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com