天天看點

C# 在子窗體中調用父窗體的方法C# 在子窗體中調用父窗體的方法

C# 在子窗體中調用父窗體的方法

在改軟體的時候碰上一個非常麻煩的問題,查了好久才順利解決

具體方法參考了 https://blog.csdn.net/lz00728/article/details/7545809 這個連結中的第一種方法。

需要實作的功能是在frmContainer(主視窗)中打開Form1(子視窗),在子視窗錄入資料後點選完成(button),将資料傳遞回主視窗,再将子視窗隐藏、關閉。

主視窗代碼:
private void inputDataToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form1 frm1 = new Form1();
            frm1.Owner = this;
            frm1.Show();
        }
           
子視窗代碼:
private void button4_Click(object sender, EventArgs e)
        {
        /*
        ……
        */
        	frmContainer ff;
            ff = (frmContainer)this.Owner;
            if (crout != null)
            {
                PassAway(crout);
                ff.PassAway(crout);
            }
            ff.setArray1(array1, array2, Inflimit, Outflimit, SKNum, SRNum, compnentnumber, freshwater);
            ff.setArray3(SKarray, SRarray);
            this.Hide();
            this.Close();
        }