winform 刷新父窗体(转)

转载 2018年01月20日 12:10:31

网络上有几种方法,先总结如下:
调用窗体(父):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 用子窗体刷新父窗体,子窗体改变父窗体控件的值

第一种方法: 用委托,Form2和Form3是同一组 Form2 C#代码 using System;   using System.Collections.Generic;   using Syst...
  • xiaofan_sap
  • xiaofan_sap
  • 2010年05月07日 17:24
  • 1661

winform 子窗体数据改变刷新父窗体

第一步: 在主窗体中拉一个Timer
  • u013816709
  • u013816709
  • 2014年05月06日 18:30
  • 1335

winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值

第一种方法: 用委托,Form2和Form3是同一组 Form2 C#代码 using System;    using System.Collections.Generic;...
  • swarb
  • swarb
  • 2012年08月29日 13:18
  • 2545

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

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

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

Winform中如何实现子窗体刷新父窗体
  • pengzhen8805
  • pengzhen8805
  • 2013年10月31日 19:05
  • 1349

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

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

winform 刷新父窗体

网络上有几种方法,先总结如下: 调用窗体(父):Form1,被调用窗体(子):Form2 方法1: 所有权法 //Form1: //需要有一个公共的刷新方法 public void Refresh_M...
  • hrbwgs1111
  • hrbwgs1111
  • 2009年08月20日 16:32
  • 1287

关于模态窗口,子窗口刷新父窗口的

    最近做项目时(SSH),遇到一个问题,关于模态窗口,提交子串口后,刷新父窗口的问题:     当点击onclick函数时,弹出一个子窗口,关闭子窗口后,同时刷新了父窗口.      ...
  • Rockey2012
  • Rockey2012
  • 2010年08月24日 22:45
  • 530

[Winform]winform 刷新父窗体(转)

网络上有几种方法,先总结如下:调用窗体(父):Form1,被调用窗体(子):Form2方法1: 所有权法//Form1://需要有一个公共的刷新方法public void Refresh_Method...
  • david_520042
  • david_520042
  • 2016年04月10日 13:58
  • 2337

Winform中子窗体关闭同时刷新父窗口

步骤1:在父窗口中定义一个函数用来重新查询数据库,然后显示在界面上。步骤2:在子窗口中注释掉原来的默认的构造函数。然后写一个新的构造函数,将父窗口传递过来,在子窗口将要关闭的时候使用父窗口的引用调用父...
  • naughty610
  • naughty610
  • 2010年05月01日 20:44
  • 3604
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:winform 刷新父窗体(转)
举报原因:
原因补充:

(最多只允许输入30个字)