当前位置:   article > 正文

winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体_winform关闭子窗口刷新父窗口

winform关闭子窗口刷新父窗口

winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下:

一 、 所有权法

父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始化方法。如:

1

2

3

4

public void reLoad_method()

{

    //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新

}

fuForm中打开ziForm时需要设置所有者,就是ziForm的所有者是fuForm,代码如下:

1

2

3

ziForm _ziForm  = new ziForm ();

_ziForm.Owner = this;

_ziForm.ShowDialog();

ziForm关闭或者需要刷新fuForm时,代码如下:

1

2

3

fuForm _fuForm ;

_fuForm = (fuForm )this.Owner;

_fuForm.reLoad_method();

  

二、自身传递法

在父窗体中有个公共刷新方法,如:

1

2

3

4

public void reLoad_method()

{

    //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新

}  

父窗体打开子窗体方法代码:

1

2

ziForm _ziForm = new ziForm()   ;

_ziForm.ShowDialog(this)   ;

子窗体中:

1

2

3

4

5

6

7

8

private   fuForm _fuForm;

public   ziForm(fuForm   fromfuForm)

{

InitializeComponent();

_fuForm   =   fromfuForm;

}

//刷新时

_fuForm.reLoad_method();

  

三、属性法

在父窗体中有个公共刷新方法,如:

1

2

3

4

public void reLoad_method()

{

    //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新

}  

父窗体打开子窗体方法代码

1

2

3

ziForm _ziForm =   new   ziForm()   ;

_ziForm.fuFormX   =   this;

_ziForm.Show()   ;

子窗体中:

1

2

3

4

5

6

7

8

private fuForm fuFormXy;

public fuForm fuFormX

{

get{return   fuFormXy;}

set{fuFormXy  =   value;}

}

//刷新时

fuFormXy.reLoad_method() ;

 

四、委托法

在父窗体中有个公共刷新方法,如:

1

2

3

4

public void reLoad_method()

{

    //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新

}  

父窗体打开子窗体方法代码

1

2

ziForm _ziForm = new ziForm();

_ziForm.ShowUpdate += new DisplayUpdate(reLoad_method);<br>_ziForm.Show();

子窗体中:

1

2

3

4

5

6

//声明一个委托

public delegate void DisplayUpdate();

//声明事件

public event DisplayUpdate ShowUpdate;

//刷新时,放在需要执行刷新的事件里

ShowUpdate();

 

在以上几个方法中,个人认为第一个所有权法最好用,容易理解,而且代码简洁,推荐使用第一种方法。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/690579
推荐阅读
相关标签
  

闽ICP备14008679号