首页 > 代码库 > Winform 子窗体设置刷新父窗体
Winform 子窗体设置刷新父窗体
方法1:所有权法
父窗体:Form1 子窗体:Form2
//Form1:窗体代码//需要有一个公共的刷新方法public void Refresh_Method(){ //...}//在调用Form2时,要把Form2的所有者设为Form1Form2 f2 = new Form2() ;f2.Owner = this;f2.ShowDialog() ;//Form2:窗体代码//在需要对其调用者(父)刷新时Form1 f1 ;f1 = (Form1)this.Owner;f1.Refresh_Method() ;
方法二:自身传递法
//Form1:窗体代码//需要有一个公共的刷新方法public void Refresh_Method(){ //...}Form2 f2 = new Form2() ;f2.ShowDialog(this) ;//Form2:窗体代码private Form1 p_f1;public Form2(Form1 f1){ InitializeComponent(); p_f1 = f1;}//刷新时p_f1.Refresh_Method() ;
//Form1:窗体代码//需要有一个公共的刷新方法public void Refresh_Method(){ //...}//调用时Form2 f2 = new Form2() ;f2.P_F1 = this;f2.Show() ;//Form2:窗体代码private Form1 p_f1;public Form1 P_F1{ get{return p_f1;} set{p_f1 = value;}}//刷新时p_f1.Refresh_Method() ;
//Form1:窗体代码//需要有一个公共的刷新方法public void Refresh_Method(){ //...}//调用时Form2 f2 = new Form2() ;f2.ShowUpdate += new DisplayUpdate(Refresh_Method) ;f2.Show() ;//Form2:窗体代码//声明一个委托public delegate void DisplayUpdate();//声明事件public event DisplayUpdate ShowUpdate;//刷新时,放在需要执行刷新的事件里ShowUpdate();//子窗体提交后private void btnOK_Click(object sender, EventArgs e){ this.DialogResult = DialogResult.OK; this.Close();}//判断子窗体if(form.ShowDialog() == DialogResult.OK){ 刷新父窗体中的DataGRIDVIEW数据}
我本人用的是第一种方法,比较好操作一些
Winform 子窗体设置刷新父窗体
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。