子窗体刷新父窗体使用接口模式

本文介绍了一种在Windows Forms应用程序中利用接口实现父窗体刷新的方法。通过定义一个包含RefreshForm()方法的接口,并在需要刷新的窗体中实现该接口,能够有效地实现在特定操作后刷新父窗体的功能。
摘要由CSDN通过智能技术生成

在网络中搜索了下,发现使用接口来刷新父窗体,自己认为比较方便。也比较好容易理解。所以我也特此写一片博客进行记录,对自己进行深入的学习和方便再回头来复习。很多东西都是自己以前做过的,但是很长一段时间之后不代表就能很顺心的能写出来,所以我只能用博客文章记录我的点滴,下次翻阅的时候至少我会想起来在某个项目中使用到了这个情景。

首先定义一个接口:

  
  
using System; using System.Collections.Generic; using System.Text; namespace WinFormSendValue { public interface IForm { void RefreshForm(); } }

当然为了能实现刷新,你首先得必须要在刷新的窗体中继承具有刷新功能的接口。。

   public partial class KuCunYiDongDetailsAddFrm : Form, IForm
    {

   ...................代码省略

   }

其次你的必须在此窗体中实现接口的方法

 

  
  
public void RefreshForm() { this .Refresh(); LoadBodyData(sendOrderNumber); // 刷新单身 LoadDetailsDate(sendOrderNumber); // 明细刷新,即刷新dataGRIDVIEW }

 

 

 

然后在你需要打开子窗体的事件中调用调用此方法。特别注意的是这里必须把需要打开的子窗体的Owner属性设置为本窗体(父)

  
  
private void btnBodyAddDetails_Click( object sender, EventArgs e) { singleAdd = new SingleDetailsAddingFrm(); singleAdd.Owner = this ;//设置OWNER属性 RefreshForm(); // 刷新父窗体 singleAdd.ShowDialog(); new SingleDetailsAddingFrm().ShowDialog(); // 转到库存异动单身明细添加窗体 }

最关键也是最后的一步就是必须在窗体中调用代码如下,不解释了。

   (this.Owner as IForm).RefreshForm();

这句可以放在你需要的任何地方。比如关闭事件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值