在winform的MDI窗体中,打开一个新的子窗体的同时如何关闭前一个子窗体?

加急,如有源代码更好,谢谢各位大侠了。... 加急,如有源代码更好,谢谢各位大侠了。 展开
 我来答
南充美味卤鸭子
2012-07-23 · TA获得超过146个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:276万
展开全部
每次打开的时候检查子窗体列表是否有新的子窗体,有 就先关闭再打开,每次打开的时候都把当前的窗口加到子窗体列表,
追问
有示例源代码吗?具体讲下呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陌上牧云
2012-07-24
知道答主
回答量:62
采纳率:0%
帮助的人:16万
展开全部
这个很简单,用一个公共类,获取前一个子窗体的引用,当打开新窗体时,使用这个引用关闭窗体!
追问
可以具体说明,这个类的内容,以及如何引用吗?最好是结合有代码的。
追答
比如
(公共类)
class C{
public static Form1 form;
}
class Form1
{
.......
C.form=this;(比如在构造函数里加)
........
}
class mainform{
//主窗体
在打开新窗体之前,判断C.form是否为空,不是则关闭!
}

这是最简单的一种,如果想要关闭之前多个子窗体,可以使用一个list把打开的子窗体全添加进去,待新子窗体打开前,遍历list关闭所有子窗体!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尧棠旷梦寒
2020-02-24 · TA获得超过3705个赞
知道大有可为答主
回答量:3039
采纳率:33%
帮助的人:172万
展开全部
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();
完事.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式