因此,我正在制作一个工资管理系统作为一个业余项目,以帮助我的简历和c#的一般知识。因此,我正在创建一个UI,我可以用以下代码打开一个新窗口:
private void button1_Click(object sender, EventArgs e)
{
CreateAdminAcct createAcct = new CreateAdminAcct();
createAcct.StartPosition = FormStartPosition.CenterScreen;
createAcct.Show();
this.Hide();
}但是,我不知道要检查什么时候单击了小红"x“按钮,因为当单击该按钮时,我想返回到主屏幕,因为单击该按钮时我隐藏了主屏幕,而当我单击刚刚打开的屏幕上的红色"x”时,它会关闭,但应用程序继续在后台运行。
如果有更好的方法来管理多个菜单,我愿意接受建议,然而,这是我发现的最简单的方法。
提前感谢
发布于 2022-02-19 20:40:30
我支持Robert的建议,这给了用户一个保证:这个窗口仍然打开/什么也没有丢失,但是当CreateAdminAcct表单打开时,它是无法达到的“隐藏”CreateAdminAcct表单的
private void button1_Click(object sender, EventArgs e)
{
CreateAdminAcct createAcct = new CreateAdminAcct();
createAcct.StartPosition = FormStartPosition.CenterScreen;
createAcct.ShowDialog();
//do any code here that needs to access createAcct before it's lost
MessageBox.Show(createAcct.NewAdmin.Name);
}如果您确实希望隐藏主窗体,请将主窗体本身传递给createAcct,并使其在主窗体关闭时重新打开
private void button1_Click(object sender, EventArgs e)
{
CreateAdminAcct createAcct = new CreateAdminAcct(this); //note passing this form to constructor
createAcct.StartPosition = FormStartPosition.CenterScreen;
createAcct.Show();
}
class CreateAcctForm : Form{
private Form _showWhenClosing;
CreateAcctForm(Form revertTo){
InitializeComponent();
_showWhenClosing = revertTo;
}
}
void Form_Closing(object sender, ...){ //event
_showWhenClosing.Show();
}附带注意:请在您将控件放入窗体后重命名它们。塞满了label57的代码,textbox25实际上是模糊的,而且非常令人厌烦
https://stackoverflow.com/questions/71186241
复制相似问题