2016年3月14日 星期一

C# Winform 子父視窗 傳值

這是我認為父子視窗之間最容易的傳值方法。

首先是建立會帶入參數的子視窗 form2 。



 public Form2(string parament)  //父視窗傳入的值
        {
            InitializeComponent();
            label2.Text = parament;
        }
        public string fm2_Text;        //記錄傳回form1的值

        private void button2_Click(object sender, EventArgs e)
        {
            fm2_Text = textBox2.Text;
        }

父視窗form1的部份,基本上就是呼叫子視窗,

呼叫時記得帶入值。



 
 private void button1_Click(object sender, EventArgs e)
        {
            Form2 fm2= new Form2("hello");
            
            if (fm2.ShowDialog() == DialogResult.OK)
            {
                this.label1.Text = fm2.fm2_Text; 
            }
        }



由於呼叫子視窗form2是使用ShowDialog(),

所以記得在form2的button屬性中設定DialogResult為ok即可 。