zoukankan      html  css  js  c++  java
  • c# winform 窗体间的传值

    1.父窗体传值给子窗体:

    1)

      父窗体:

    1  FrmXX frm = new FrmXX(1,0);
    2  frm.Owner = this;
    3  frm.ShowDialog();

    子窗体:

    1    int type, index = 0;      
    2         public FrmXX(int ty,int ind)
    3         {
    4             InitializeComponent();
    5             type = ty;
    6             index = ind;
    7         }

    2)适用于多个父窗体调用一个子窗体

      父窗体:

    1            FrmXX frm = new FrmXX();
    2             frm.data = sum;
    3             frm.id = id;
    4             frm.ShowDialog();

    子窗体:

     1    public string data { get; set; }
     2    public string id { get; set; }
     3 
     4   private void FrmXX_Load(object sender, EventArgs e)
     5         {
     6            10         }
    11 }

    数据更新:

    1    private void Renovate()
    2         {
    3             FrmXX frm = new FrmXX();
    4             frm = (FrmXX)this.Owner;
    5             frm.BindDgv();  //BindDgv是父窗体绑定dgv中的数据,
    6         }
     1  private void btnSearch_Click(object sender, EventArgs e)
     2        
     3               ...数据增删改代码
     4                 if (res.Success) {
     5                     Renovate();
     6                     this.Close();
     7                 }
     8             else
     9             {
    10                     Utility.Error("添加失败:" + res.ErrMsg);
    11                 }

    2.子窗体传值给父窗体

    1)父窗体:

     1  private void pb_wharehouse_Click(object sender, EventArgs e)
     2         {
     3             Frm仓库查询 frm = new Frm仓库查询();
     4             frm.P_Value+= frm_E_Value;
     5             frm.ShowDialog();
     6         }
     7         void frm_E_Value(string value)
     8         {
     9             txt_wharehouse.Text = value;  //从子窗体传过来的值
    10         }

    子窗体:

    1   public delegate void T_Value(String value);
    2   public event T_Value E_Value;
    3   private void btn_selected_Click(object sender, EventArgs e)
    4         {
    5              E_Value(this.txt_lx.Text);
    6             this.Close();
    7 
    8       }

     2)父窗体:

    1             FrmXX f = new FrmXX();
    2             if (f.ShowDialog() == DialogResult.OK)
    3             {
    4                 string s=f.value;//f.value是从子窗体获取的值
    5             }

    子窗体:

    1  public static string value;//全局变量
    2  private void btnSelects_Click(object sender, EventArgs e)
    3         { 
    5             value= txtvalue.Text;
    this.close();
    6 }
  • 相关阅读:
    CLOSE_WAIT过大,致使tomcat停掉
    nginx安装
    前端知识点及面试题总结
    博客第一次
    二叉树的深度-python
    数字在排序数组中出现的次数-python
    两个链表的第一个公共节点-python
    自动生成接口自动化测试报告
    python实现四舍五入
    使用python的configparser操作.ini配置文件
  • 原文地址:https://www.cnblogs.com/bonnie-w/p/7371974.html
Copyright © 2011-2022 走看看