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


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

    一 、 所有权法

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

    public void reLoad_method() 
    { 
        //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新
    } 
    

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

    ziForm _ziForm  = new ziForm ();
    _ziForm.Owner = this;
    _ziForm.ShowDialog();
    

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

    fuForm _fuForm ;
    _fuForm = (fuForm )this.Owner;
    _fuForm.reLoad_method();

      

    二、自身传递法

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

    public void reLoad_method() 
    { 
        //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新
    }  

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

    ziForm _ziForm = new ziForm()   ; 
    _ziForm.ShowDialog(this)   ; 
    

    子窗体中:

    private   fuForm _fuForm; 
    public   ziForm(fuForm   fromfuForm) 
    { 
    InitializeComponent(); 
    _fuForm   =   fromfuForm; 
    } 
    //刷新时 
    _fuForm.reLoad_method();

      

    三、属性法

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

    public void reLoad_method() 
    { 
        //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新
    }  

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

    ziForm _ziForm =   new   ziForm()   ; 
    _ziForm.fuFormX   =   this; 
    _ziForm.Show()   ; 
    

    子窗体中:

    private fuForm fuFormXy; 
    public fuForm fuFormX 
    { 
    get{return   fuFormXy;} 
    set{fuFormXy  =   value;} 
    } 
    //刷新时 
    fuFormXy.reLoad_method() ;

    四、委托法

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

    public void reLoad_method() 
    { 
        //窗体数据初始化方法,fuForm_Load中的全部操作,调用此方法可实现数据的刷新
    }  

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

    ziForm _ziForm = new ziForm(); 
    _ziForm.ShowUpdate += new DisplayUpdate(reLoad_method);
    _ziForm.Show();

    子窗体中:

    //声明一个委托 
    public delegate void DisplayUpdate(); 
    //声明事件 
    public event DisplayUpdate ShowUpdate; 
    //刷新时,放在需要执行刷新的事件里 
    ShowUpdate();
    

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

  • 相关阅读:
    MongoDB Schema Design
    WinDBG中的poi是做什么用的?
    如何在Visual Studio中运行和调试汇编代码?
    [翻译图书] 未完工 Moving Applications to the Cloud on the Microsoft Windows Azure Platform 4
    在Word中生成随机的样本文本
    Quiz Win32内存表示与数值大小
    rep stos dword ptr es:[edi] 是做什么的?
    Windows Azure中虚拟机无法启动, 报错RoleStateUnknown的解决方案
    COM基础介绍
    64位的dump里如何寻找第一个到第四个参数?
  • 原文地址:https://www.cnblogs.com/weekzero/p/3471317.html
Copyright © 2020-2023  润新知