zoukankan      html  css  js  c++  java
  • Winform 子窗体设置刷新父窗体

    方法1:所有权法

    父窗体:Form1    子窗体:Form2

    //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() ;

    方法二:自身传递法

    //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() ;
    方法三:属性法
    //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() ;
    方法四:委托法
    //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();
    
    //子窗体提交后
    private void btnOK_Click(object sender, EventArgs e)
    {
                 this.DialogResult = DialogResult.OK;
                 this.Close();
    }
    
    
    //判断子窗体
    if(form.ShowDialog() == DialogResult.OK)
    {
         刷新父窗体中的DataGRIDVIEW数据
    }

    我本人用的是第一种方法,比较好操作一些

  • 相关阅读:
    Android:控件GridView的使用
    Android:监听ListView
    Android:控件ListView列表项与适配器结合使用
    Android:删除模拟器中没用的应用
    Android:Activity之间跳转和参数传递
    Android:常见错误提示
    删除appcompat_v7会出很多错误
    Android工具:延展图片NinePatch
    Android:布局实例之模仿QQ登录界面
    Android:android:gravity 和 android:layout_Gravity 的区别
  • 原文地址:https://www.cnblogs.com/pingming/p/4207736.html
Copyright © 2011-2022 走看看