winform跨界面进行的操作

窗体之间除了以传递参数的方式进行互通外,还可以用委托

例子:

form1 点击按钮,出现窗体2

 private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            Action<string> f2CallBack = x =>
              {
                  label1.Text = x;//函数体。要进行的操作
              };//(3)设置与窗体2相同签名的委托
            f2.CallBack = f2CallBack;//(4)对声明委托的窗体进行委托绑定
            f2.Show();

        }
     

form2 点击按钮,将窗体2输入的内容传递到窗体1,进行实时变更。

       //(1)声明委托
        public Action<string> CallBack;
        private void button1_Click(object sender, EventArgs e)
        {
            //(2)传递参数
            this.CallBack?.Invoke(textBox1.Text);//传递变量值
        }

完!

原文地址:https://www.cnblogs.com/wwz-wwz/p/7101748.html