3个回答
展开全部
每次打开的时候检查子窗体列表是否有新的子窗体,有 就先关闭再打开,每次打开的时候都把当前的窗口加到子窗体列表,
追问
有示例源代码吗?具体讲下呗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个很简单,用一个公共类,获取前一个子窗体的引用,当打开新窗体时,使用这个引用关闭窗体!
追问
可以具体说明,这个类的内容,以及如何引用吗?最好是结合有代码的。
追答
比如
(公共类)
class C{
public static Form1 form;
}
class Form1
{
.......
C.form=this;(比如在构造函数里加)
........
}
class mainform{
//主窗体
在打开新窗体之前,判断C.form是否为空,不是则关闭!
}
这是最简单的一种,如果想要关闭之前多个子窗体,可以使用一个list把打开的子窗体全添加进去,待新子窗体打开前,遍历list关闭所有子窗体!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#是吧?
设父窗体为AForm,子窗体为BForm
1,
子窗体中添加字段
private
AForm
af;
2,
子窗体中添加构造函数
public
BForm(AForm
a)
{
InitializeComponents();
this.af
=
a;
}
3,
子父窗体要打开子窗体的地方写
BForm
b
=
new
BForm(this);
b.ShowDialog();
4,
子窗体的
Form_Closed事件中写
this.af.Close();
完事.
设父窗体为AForm,子窗体为BForm
1,
子窗体中添加字段
private
AForm
af;
2,
子窗体中添加构造函数
public
BForm(AForm
a)
{
InitializeComponents();
this.af
=
a;
}
3,
子父窗体要打开子窗体的地方写
BForm
b
=
new
BForm(this);
b.ShowDialog();
4,
子窗体的
Form_Closed事件中写
this.af.Close();
完事.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询