实际上我一开始也是对事件和委托有点模糊,就去找点资料看看,碰巧看到篇不错的文章,受益匪浅。
下面是我看后写的一个模仿单击事件。
1
public
class
Button
2
{
3
public string name = "我是按钮";
4
public delegate void ClickEventHandler(Object sender ,ClickEventArgs e);
5
public event ClickEventHandler click;
6
public class ClickEventArgs : EventArgs
7
{
8
public readonly string name;
9
public ClickEventArgs(string name)
10
{
11
this.name = name;
12
}
13
}
14
public virtual void OnClick(ClickEventArgs e)
15
{
16
if (click != null)
17
{
18
click(this, e);
19
}
20
}
21
public void danji()
22
{
23
ClickEventArgs e = new ClickEventArgs(name);
24
OnClick(e);
25
}
26
27
}
28
public
class
task
29
{
30
public void OnClick(Object sender ,Button.ClickEventArgs e)
31
{
32
Console.WriteLine(e.name);
33
}
34
}
35
class
ClickEvent
36
{
37
static void Main(string[] args)
38
{
39
Button btn = new Button();
40
btn.click += (new task()).OnClick;
41
btn.danji();
42
}
43
}

2



3

4

5

6

7



8

9

10



11

12

13

14

15



16

17



18

19

20

21

22



23

24

25

26

27

28

29



30

31



32

33

34

35

36



37

38



39

40

41

42

43

那篇文章写的非常好,我就不介绍了,给出网址,大家可以去看看。
http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html