多視窗間互相傳值

  • 386
  • 0

摘要:多視窗間互相傳值

我指的多視窗,是指三個視窗以上(包含三個)。

其實與一般的傳值方法並無太大的不同,在架構上多琢磨一下就可以。


我假設f1為主要的Main frame,所有的frame都會把值傳過去。

而所有的frame也可以跟f1要值。

線的連接,代表哪個frame中有控制項可以開啟該frame。

(ex: click a button in f1 will show f2.)

今天如果f4要把直傳回f1時,程式寫法如下


//in f4
 public Form4(Form3 Parentform)
        {
            InitializeComponent();
            this.Tag = Parentform;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ((Form3)this.Tag).Function1(textBox1.Text);
            Close();
        }
//In f3 宣告一個Fun可以把直傳回f1
public Form3(Form1 Parentform)
        {
            InitializeComponent();
            this.Tag = Parentform;
        }
 public void Function1(string fn) {
            ((Form1)this.Tag).FunFileName = fn;
        }

其實充其量就是個架構罷了。我有看到MDI,這可能需要花點時間來比較研究一下哪一個比就好就是了。