社区
C#
帖子详情
VS2005 winform在子窗体中关闭父窗体,可以做到吗?
hsie168518
2009-07-30 05:52:10
rt
...全文
1905
36
打赏
收藏
VS2005 winform在子窗体中关闭父窗体,可以做到吗?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lanyun32
2011-06-08
打赏
举报
回复
举个例子:Login(父窗体)登录成功后,进入HomePage。
this.Visible = false;
HomePage main = new HomePage();
main.LoginForm = this;
main.Show();
在main里写一个
private Login _loginForm;
public Login LoginForm
{
get
{
return _loginForm;
}
set
{
_loginForm = value;
}
}
当Homepage里写一段,
private void HomePage_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确定退出吗?", "消息来自主界面",MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
{
e.Cancel = true;
}
else
{
this.LoginForm.Close();
}
}
这样就可以实现了关闭程序啦
rfasm
2011-03-24
打赏
举报
回复
不过父窗体一关闭,整个程序就退出。这是一定的
rfasm
2011-03-24
打赏
举报
回复
10楼的方法足矣!鄙人验证过,可行!
hsie168518
2009-12-08
打赏
举报
回复
我换了方法,直接用这个了
Application.Exit();
coffee_shy
2009-12-06
打赏
举报
回复
我也是同样的问题 不知道楼主有没有解决这个问题 结果如何 怎么去实现?
CHN_smallfox
2009-07-31
打赏
举报
回复
父窗体进入子窗体的时候传下父窗体的this参数,子窗体写个带参构造函数,然后就可以关父窗体了,不过子窗体会同时关闭
VistaKobe
2009-07-31
打赏
举报
回复
顶15楼!
hecker728
2009-07-31
打赏
举报
回复
父窗体隐藏。。
等到子窗体关闭后,再去关闭主窗体。。效果和楼主一样
lzc2125
2009-07-31
打赏
举报
回复
楼主是想只单纯的关闭父窗口?
估计不可能吧
lsj_zrp
2009-07-31
打赏
举报
回复
[Quote=引用 13 楼 hsie168518 的回复:]
引用 8 楼 lsj_zrp 的回复:
父窗口(Form2 ):
Form3 frm = new Form3();
frm.Owner = this;
frm.Show();
子窗口(Form3 ):
Form2 frm = (Form2)this.Owner;
frm.Close();
这样子窗口也会关掉
这个方法不行,
f.MdiParent = this;才会把子窗体加在父窗体中
[/Quote]
那你把frm.Owner = this;改成frm.MdiParent = this;
然后 Form2 frm = (Form2)this.MdiParent; frm.Close();就行了
或者隐藏父窗口Hide(),子窗口关闭的时候用Application.Exit();
markhao
2009-07-31
打赏
举报
回复
两种方法,一种是将父窗体当做参数传给子窗体,当然子窗体的构造函数必须有父窗体这个参数...
一种是调用this.ParentForm.Close()
cykevin
2009-07-31
打赏
举报
回复
不好意思,刚才回一次没响应,又点了一下。
cykevin
2009-07-31
打赏
举报
回复
很简单,父窗体打开子窗体的时候,用showdialog方法而不用show方法,然后在父窗体中去判断子窗体的返回结果,像这样:
if(child_from.showdialog()==DialogResult.OK)
{
this.close();
}
cykevin
2009-07-31
打赏
举报
回复
很简单,父窗体打开子窗体的时候,用showdialog方法而不用show方法,然后在父窗体中去判断子窗体的返回结果,像这样:
if(child_from.showdialog()==DialogResult.OK)
{
this.close();
}
lxxlql
2009-07-31
打赏
举报
回复
其实15楼的隐藏的方法是可以的,但是有一个问题就是:每次启动程序,主窗体都没有关,会有一个进程,第二次开就会报异常的,所以隐藏之后,在退出程序还得关闭。
16楼利用委托可以很好的解决!顶!
上帝有好生之德
2009-07-31
打赏
举报
回复
在子窗体closing事件里写Application.Exit();
laoban108
2009-07-31
打赏
举报
回复
你关了父的,子的也就关了吧?
sz_xd
2009-07-31
打赏
举报
回复
up
zhouzangood
2009-07-30
打赏
举报
回复
LZ把正确的代码贴出来学习学习吧
wuxing2006
2009-07-30
打赏
举报
回复
form1
Form2 form =new Form();
form.ShowDialog();
this.Close();
加载更多回复(16)
asp.net知识库
在.NET 2.0
中
,让你的组件也可以绑定 .NET20 一种简单的
窗
口控件UI状态控制方法 翻译MSDN文章 —— 泛型FAQ:最佳实践 Visual C# 3.0 新特性概览 C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 ...
Winform
窗
体
间传值
窗
体
间传值要弄清楚到底是哪个对象的问题,否则容易传错值。就比如
窗
体
对象loginFrm为登陆
窗
体
,想把当前的登陆用户信息传递给主
窗
体
mainFrm,但是...
窗
体
传值的前提是,要传的字段,在类里面的访问修饰符必须是public
C#
Winform
窗
体
与界面设计
本课程是针对C#
Winform
开发人员的基础性课程,详尽的介绍C#
Winform
窗
体
与界面的设计,通过提供实例,让C#
Winform
开发人员掌握相关程序设计技巧,为后面学习完整的实战课程打下较好的基础。
winform
弹出
子
窗
口后不能操作
父
窗
口的实现
Form myForm = new Form(); myForm.ShowDialog();
WinForm
中
如何实现
窗
体
间传递数据字符
例如需要通过调用
子
窗
体
来修改
父
窗
体
的内容。 【注意】
窗
体
间传值要弄清楚到底是哪个对象的问题,否则容易传错值。 例如,我们要实现,在登陆
窗
体
中
,把当前的登陆用户信息传递给主
窗
体
,但是却实例了一个新的对象...
C#
110,578
社区成员
642,559
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章