zoukankan      html  css  js  c++  java
  • C# 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();  

    方法5:消息法

    //Form1

    //需要有一个公共的刷新方法    
    public   void    Refresh_Method()    
    {    
    //...    
    }

    //判断对话框结果

    if (Form1.ShowDialog(this) ==DialogResult.OK)
    {
    Refresh_Method()  
    }
    //From2
    //刷新时
     this.DialogResult = System.Windows.Forms.DialogResult.OK;

  • 相关阅读:
    将本地文件夹添加到Git仓库
    flex调用Webservice(一)
    经典的sql
    打印相关
    reporting services订阅
    关于TabIndex
    试题(一)
    试试用手机
    2010.07.13_19:30
    基础知识
  • 原文地址:https://www.cnblogs.com/laowengdiaodayu/p/4171980.html
Copyright © 2011-2022 走看看