winform 刷新父窗体(转)

64人阅读 评论(0) 收藏 举报
分类:

网络上有几种方法,先总结如下:
调用窗体(父):Form1,被调用窗体(子):Form2
方法1: 所有权法
//Form1:
//需要有一个公共的刷新方法
public void Refresh_Method()
{
//…
}
//在调用Form2时,要把Form2的所有者设为Form1
Form2 f2 = new Form2() ;
f2.Owner = this;
f2.ShowDialog() ;
//Form2:
//在需要对其调用者(父)刷新时
Form1 f1 ;
f1 = (Form1)this.Owner;
f1.Refresh_Method() ;
方法2:自身传递法
//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() ;
方法3:属性法
//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() ;
方法4:委托法
//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 子窗体数据改变刷新父窗体

第一步: 在主窗体中拉一个Timer
  • u013816709
  • u013816709
  • 2014-05-06 18:30:20
  • 1589

Winform中如何实现子窗体刷新父窗体

Winform中如何实现子窗体刷新父窗体
  • pengzhen8805
  • pengzhen8805
  • 2013-10-31 19:05:50
  • 1411

WinForm 关闭子窗体时刷新父窗体的数据

  • 2011年10月18日 17:56
  • 41KB
  • 下载

子窗体调父窗体

  • 2013年05月15日 16:11
  • 2KB
  • 下载

C#子窗体刷新父窗体

  • 2011年02月17日 15:57
  • 453B
  • 下载

在winform中,关闭窗口时刷新父窗口(原来打开此窗口的窗口)

如何在关闭窗口时刷新父窗口(原来打开此窗口的窗口,不一定是mdi窗口), 这种事情在b/s里很简单,但在winform里却不那么好办。因为你不能关闭第一个窗口时再打开另一个窗口,如果这样的话新窗口就一...
  • dannyplus
  • dannyplus
  • 2007-05-20 23:23:00
  • 6596

c# winform:当子窗体关闭时,更新父窗体DataGridView控件的值

在子窗体中设置最后对话框的属性,然后再主窗体中根据该属性值,重新绑定DataGridView控件的值。 主窗体代码: public partial class MainForm. Form...
  • jiang1986829
  • jiang1986829
  • 2015-07-18 23:19:30
  • 1677

C#(winform)里子窗体修改父窗体(子窗体刷新父窗体数

  • 2012年01月06日 11:11
  • 108KB
  • 下载

C#关闭子窗体更新父窗体(一)

父窗体private void simpleButton1_Click(object sender, EventArgs e) { Form2 f2 = new...
  • sinat_37476411
  • sinat_37476411
  • 2017-03-01 13:56:21
  • 1037

利用委托事件实现Winform窗体之间的同步刷新

举例如下: 有两个界面A,B,下面要实现的功能是在界面A中执行完某项操作时,同步执行B界面中的方法,以达到刷新B窗体的目的 界面A中声明委托事件的代码如下: public delegate voi...
  • pp_fzp
  • pp_fzp
  • 2016-02-20 19:20:10
  • 2923
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 257万+
    积分: 3万+
    排名: 133
    博客专栏
    最新评论
    文章存档