C# 子窗体关闭的同时父窗体也随之关闭

子窗体有个按钮点击后子窗体关闭父窗体也关闭... 子窗体有个按钮 点击后子窗体关闭 父窗体也关闭 展开
 我来答
lzh3452
2013-01-14 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:859万
展开全部
父窗体:form2.ShowDialog(this);
子窗体的Closed事件里写:this.Owner.Close();
两个窗体就一起关了。
追问
程序报错了   提示无法访问以释放的对象 对象(父窗体)
是怎么回事啊
追答
那改成this.Owner.Hide();如何,正常一个winform如果被隐藏了,有没有处理,会自己关掉。
或者改为在Closing事件里关闭父窗体,因为Closed执行时,实际资源已经被释放了,窗体已经关了,而Closing时还处于决定是否要关闭的阶段。
我一般都是在显示子窗体是就已经把父窗体Hide了,子窗体关了之后,如果不显示父窗体,程序就会关闭。
huiyangzhuang
推荐于2017-11-28 · TA获得超过435个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:251万
展开全部
仅供参考:
1、父窗体Form1中调用子窗体Form2代码:
Form2 fr = new Form2();
fr.ShowDialog(this);

2、子窗体的FormClosed事件代码:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Form1 fr = new Form1();
fr = (Form1)this.Owner;
fr.Dispose();
fr.Close();
}
追问
程序报错了   提示无法访问以释放的对象 对象(父窗体)
是怎么回事啊
追答
你看看有没有释放掉
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leo_fei5210
2013-01-14 · TA获得超过306个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:236万
展开全部
子窗体关闭的方法里NEW一下父窗体,然后调用.close()
追问
我是要做一个登陆窗口,主程序一运行就会调出这个登录窗口,NEW一下的话会又有一个登陆窗口出来
追答
为什么会调出这个登录窗口?那你调用打开新窗口的时候都隐藏一下登录窗口就OK了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灰色110
2013-01-14 · TA获得超过185个赞
知道小有建树答主
回答量:289
采纳率:100%
帮助的人:261万
展开全部
form main
private void Form1_Load(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Show();
f.FormClosed += Close;
}
private void Close(object sender, EventArgs e) //方法自定义,通过订阅委托执行
{
this.Close();
}
form child
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式