C#利用委托实现窗体间的值传递

A、网上有很多方法,大家可搜一下,都可用。

B、这里只是说明下是只利用委托,学习基本的委托运用。

方法如下:

1、C#建立一个默认工程,默认窗体Form1

2、加入一个新窗体,默认Form2

3、Form1窗体上放一个Label,一个Button,属性分别为:

this.label1.Text = ""; // 清空label的值

this.button1.Text="otherForm"; //设置button显示为otherForm

 

4、Form2窗体上放一个textbox1,一个Button,属性分别为:

this.textbox1.Text = ""; //清空textbox的值

this.button1.Text = "input"; //设置button显示为input(输入)

5、上面的步骤就建立了两个基本的窗体,接下来回到Form1的代码设计视图

拷贝下面代码

 

6、在Form2的代码设计视图中,拷贝下面代码

7、运行后,就可以在两个窗体间传递参数了

 

注:重点是第六步中的,对委托的定义和调用

 

        returnValueEvent += new returnValue(Form1_returnValueEvent);

        void Form1_returnValueEvent(string str)
        {
            // throw new NotImplementedException();
            this.label1.Text = str;
        }

        // 定义委托
        public delegate void returnValue(string str);
        // 委托的事件
        public static event returnValue returnValueEvent;
        // 委托的事件的函数
        public void doReturnValue(string str)
        {
            returnValueEvent(str);
        }

 在Form2中的调用,在按钮的click事件中

            Form1 frm1 = new Form1();
            frm1.doReturnValue(this.textBox1.Text);

运行效果图如下:

效果图

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页