首页 > 编程 > C# > 正文

C#中的事件

2023-05-08 19:02:36
字体:
来源:转载
供稿:网友

事件(event)被广泛用于对象间的通信,例如Windows的应用程序就是基于消息机制的。C# 事件除了表示发生了某个有意义的事件外,还表示已经定义了一个可以处理通知的对象(委托)。

事件的两种声明格式在前面的类成员说明中已经给出。

即平凡事件格式:

[[属性]] [事件修饰符] event 委托类型 标识符[ = 表达式 或 数组初始化器][, ……];

或非平凡事件格式:

[[属性]] [事件修饰符] event 委托类型 事件名 {
              [[属性]] add {……}
             [[属性]] remove {……}
         }

其中,事件修饰符与方法修饰符的相同。

例如(鼠标单击事件Click):

// 定义
        public delegate void EventHandler(object sender, System.EventArgs e);
        public class Button {
                public event EventHandler Click;
                public void Reset() {
                        Click = null;
                }
        }

// 使用
        using System;

public class Form1 {
                public Form1() {
                        // 为Button1的Click事件添加事件处理程序Button1_Click
                        Button1.Click += new EventHandler(Button1_Click);
                }
                Button Button1 = new Button();
                void Button1_Click(object sender, EventArgs e) {
                        Console.WriteLine("Button1 was clicked!");
                }
                public void Disconnect() {
                        Button1.Click -= new EventHandler(Button1_Click);
                }
        }

上一篇:C#中的枚举类型

下一篇:C#中的匿名方法

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表