2015年10月15日 星期四

C# winForm 子母視窗互傳參數的方式!!

Form1 開啟 Form2 並傳參數

1. 先在Form2 新增參數名稱及接收的方式
   ex:
   string _type;
   public void _Type 
        {
            get
            {
                return _type;
            }
            set
            {
                _type = value;
            }
        }

2. 在Form1 寫開啟 Form2 及傳參數

private void btn_Click(object sender, EventArgs e)  
        {
            Form2 fm = new Form2();
            fm._Type = "0";
            //fm._Table = masterDGV.CurrentRow.Cells[0].Value.ToString();
            //fm._Shop = _shopid;
            //fm._Date = DateTime.Now.ToString("yyyyMMdd HH:mm:ss");

            fm.ShowDialog();
        }

///////////////////////////////////////////////////////////////////////////////////////////

Form2 子視窗關閉,將參數回傳 主視窗 Form1
1. 先在Form1 開啟子視窗時定義 Owner = this;
    以及接收的參數及方式!
   string _strValue;
   public void _StrValue 
        {
            get
            {
                return _strValue;
            }
            set
            {
                _strValue = value;
            }
        }


private void btnShow_Click(object sender, EventArgs e)  
     {
            Form2 fm = new Form2();
            fm.Owner = this;
            //fm._Table = masterDGV.CurrentRow.Cells[0].Value.ToString();
            //fm._Shop = _shopid;
            //fm._Date = DateTime.Now.ToString("yyyyMMdd HH:mm:ss");

            fm.ShowDialog();
            TextBox1.text=_strValue;  //關閉表單後返回參數填入TextBox1;
     }


2. 在Form2 寫關閉視窗時回傳的方法

private void btnClose_Click(object sender, EventArgs e)  
    {
      Form1 F1 = (Form1)this.Owner;
      F1.StrValue = "Form2返回";;
      this.Close();

    }




沒有留言:

張貼留言