怎样关闭子窗口的同时刷新父窗口

andyzhengzheng 2007-09-06 10:55:10
父窗口 form1
子窗口 form2

打开子窗口
private Button1_Click(object sender, EventArgs e)
{
form2 sonform = new form2();
form2.ShowDialog();
}
关闭子窗口
private Button2_Click(object sender, EventArgs e)
{
this.close()
}

怎么改可以实现 关闭子窗口的同时刷新父窗口

我想得到父窗口的引用该怎么做啊??

我是初学者阿,请指教
...全文
415 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
TrojanSckiss 2007-09-07
  • 打赏
  • 举报
回复
打错字了,对不起啊。
是"子窗口",不是"字串口"。
TrojanSckiss 2007-09-07
  • 打赏
  • 举报
回复
你在构造字串口中也把父窗口的引用传递进去就OK了。
form2 sonform = new form2(this);
这样你子窗口的构造函数得改一下了。
-------------------------------------------------------
代理联动[虚拟主机|企业邮局|域名注册|网站建设|营销通...]
有需要者
请访问 http://debugger.72web.cn/
大折扣,大优惠
联系QQ:871071388
zhuqueta0101 2007-09-07
  • 打赏
  • 举报
回复
第一种,主动方式
private Button1_Click(object sender, EventArgs e)
{
form2 sonform = new form2();
form2.ShowDialog();
//直接调用你自己的刷新函数,因为showdialog是停止在上一行的,你关闭后才运行到此行
}
关闭子窗口
private Button2_Click(object sender, EventArgs e)
{
this.close()
}


另一种,被动方式
主窗体接收子窗体的关闭事件

Form2 f = new Form2();
f.FormClosing += new FormClosingEventHandler(f_FormClosing);


void f_FormClosing(object sender, FormClosingEventArgs e)
{
throw new Exception("The method or operation is not implemented.");
}
add777 2007-09-07
  • 打赏
  • 举报
回复
en
sadever 2007-09-07
  • 打赏
  • 举报
回复
我还是顶楼上的!
chxljtt 2007-09-07
  • 打赏
  • 举报
回复
private Button1_Click(object sender, EventArgs e)
{
form2 sonform = new form2();
if(form2.ShowDialog() == DialogResult.OK)
{
/*这边可以做你想做的任何事*/
}
}
长江 2007-09-07
  • 打赏
  • 举报
回复
一楼不是就搞定了嘛
wzuomin 2007-09-07
  • 打赏
  • 举报
回复
在子窗体中声明一Event,子窗体关闭时触发出该Event
然后在父窗体中处理该事件,不过实例化子窗体的时候要使用addhandler方法。
jobine 2007-09-06
  • 打赏
  • 举报
回复
form1:
private void button2_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Owner = this;
frm2.Show();
}
form2:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Owner.Invalidate();
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧