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);//传递变量值
        }

 

完!

posted @ 2017-07-01 11:17  冲天小肥牛  阅读(351)  评论(0编辑  收藏  举报