C# 如何使用c在mdi中单击另一个子窗体时关闭上一个子窗体#
我有一个mdi父窗体,我在运行时以mdi子窗体的形式打开其他窗体,代码如下:C# 如何使用c在mdi中单击另一个子窗体时关闭上一个子窗体#,c#,forms,C#,Forms,我有一个mdi父窗体,我在运行时以mdi子窗体的形式打开其他窗体,代码如下: private void winAppToolStripMenuItem_Click(object sender, EventArgs e) { Upload objWA = new Upload(); objWA.MdiParent = this; objWA.Show(); //objWA.WindowS
private void winAppToolStripMenuItem_Click(object sender, EventArgs e)
{
Upload objWA = new Upload();
objWA.MdiParent = this;
objWA.Show();
//objWA.WindowState = FormWindowState.Maximized;
}
private void userInfoToolStripMenuItem_Click(object sender, EventArgs e)
{
Reports objUI = new Reports();
objUI.MdiParent = this;
objUI.Show();
//objUI.WindowState = FormWindowState.Maximized;
}
但问题是:当当前表单打开时,用户可以打开另一个表单,并且可以重复多次,以便打开每个表单。在用户打开新的子表单之前,关闭上一个子表单的代码是什么
供参考的屏幕截图
这是从:
这是从:
让我知道它是否有效,因为我只是编造出来的
让我知道它是否有效,因为我刚刚制作了一个可能的副本,我已经尝试过了,但它不起作用。创建新实例时,是否要关闭表单的以前实例?如果是这样,那么上一个表单中任何未保存的数据都会丢失。单击新表单时,我应该关闭或隐藏上一个表单。可能重复我已尝试过此操作,但不起作用。创建新实例时,是否要关闭表单的上一个实例?如果是这样,,那么,上一个表单中任何未保存的数据都将丢失。我应该在单击新表单时关闭或隐藏上一个表单。您是否可以编辑我的帖子,并显示我应该在哪里包含您的代码,因为我对此完全陌生?您是否可以编辑我的帖子,并显示我应该在哪里包含您的代码,因为我对此完全陌生这是我在处理按钮附近得到的三个错误(表objUI);错误1)预期错误2无效表达式项“')”错误3;预期我在处理按钮附近得到三个错误(表objUI);错误1)预期错误2无效表达式项“')”错误3;预期
public void DisposeAllButThis(Form form){
foreach (Form frm in this.MdiChildren)
{
if (frm.GetType() == form.GetType()
&& frm != form)
{
frm.Dispose();
frm.Close();
}
}}
private void winAppToolStripMenuItem_Click(object sender, EventArgs e)
{
Upload objWA = new Upload();
objWA.MdiParent = this;
objWA.Show();
//objWA.WindowState = FormWindowState.Maximized;
}
private void userInfoToolStripMenuItem_Click(object sender, EventArgs e)
{
Reports objUI = new Reports();
objUI.MdiParent = this;
objUI.Show();
DisposeAllButThis(Form objUI);
//objUI.WindowState = FormWindowState.Maximized;
}
public void DisposeAllButThis(Form form)
{
foreach (Form frm in this.MdiChildren)
{
if (frm.GetType() == form.GetType()
&& frm != form)
{
frm.Dispose();
frm.Close();
}
}
}