winform 子窗体数据改变刷新父窗体 分类: WinForm ...

两种方法实现:

第一种,传时间变量,主窗体要不停的刷新数据,占用资源比较大。

第二种,用this,感觉比较好用,建议用这种方法。

举例:

主窗体命名:FormA;

子窗体命名:FormB;

数据绑定方法:DataBind();

第一种具体实现如下:

FormA:

拉一个Timer控件,例:

1>属性设置:

 名字:   timer1

Enable:   ture

Interval:   1000

2>加载事件

tick:timer1_Tick


3>写代码

(1)定义一个公共静态变量:

      public static bool timetf=false;//时间变量

(2)timer事件代码:

 if (timetf == true)
 {
        DataBind();//数据绑定
        timetf = false;//绑定之后,设为FALSE,不然每秒都刷新,浪费资源

 }

FormB

添加成功(或修改成功)之后调用这个时间变量,设置为TRUE,让主船体更新数据。

例:

       FormB.timetf = true;
      MessageBox.Show("保存成功!");


第二种具体做法:

1>FormA(主窗体)调用子窗体时:

  FormB fb=new FormB(this);

  fb.ShowDialog();

 备注:DataBind()方法是公共的;

2>子窗体:

(1),加一句代码:

FormA fa;
        public FormB(FormA fa)
        {   
            this.fa = fa;
            InitializeComponent();
        }

(2)添加或修改成功时,可以直接调用这个方法

      FormA.DataBind();
           MessageBox.Show("保存成功!");




版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/Jackerson/p/4632035.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值