zoukankan      html  css  js  c++  java
  • winform刷新父窗体

      

    网络上有几种方法,先总结如下:
    调用窗体(父):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();

  • 相关阅读:
    转 du: 查看目录大小
    conductor v3 docker-compose 运行
    使用parquetjs 创建parquet 文件
    dremio 数据格式的一些说明
    集成minio sidekick & console 的测试
    hermes golang email 模版包
    gothic 类似gotrue 的服务
    cube.js 官方关于cube store 的一些实践说明
    dremio sql server 链接问题
    使用sbt-native-packager 构建通用的scala 软件包
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/1820811.html
Copyright © 2011-2022 走看看