窗体间的代理事件

  Form1窗体中有个方法:
        public void show()
        {
            this.textBox1.Text="唐德兵";
        }
现点击Form1中的Button1弹出Form2窗体,点击Form2上的Button1时Form2关闭,同时调用Form1中的show()方法。

下面是实现:
在Form2中申明:
    public delegate void  mydelegate();
    public event mydelegate myevent;

Form1中Button1的单击事件中写上下面代码:
            Form2 form2=new Form2();
            form2.myevent+=new Form2.mydelegate(this.show);//给Form2注册myevent事件
            form2.Show();

在Form2中的Button1的单击事件中写上下面的方法:
this.myevent();
this.Close();

注释:
event关键字用于声明用户定义的事件。
处理事件的方法是事件处理程序。
事件是通过代理来实现的

delegate用于声明委托。委托是一种引用类型,它引用类型的 Shared 方法或对象的实例方法。任何具有匹配参数类型和返回类型的过程均可用来创建此委托类的实例。然后就可以通过委托实例来调用过程。


你可能感兴趣的:(事件)