.net 中的委托和事件(适合初学者,看后绝对会领会不少)

本文通过一个按钮点击事件的示例,详细讲解了 C# 中事件和委托的基本用法,包括委托定义、事件触发及外部监听的实现。

实际上我一开始也是对事件和委托有点模糊,就去找点资料看看,碰巧看到篇不错的文章,受益匪浅。

下面是我看后写的一个模仿单击事件。

 1 public   class  Button
 2 ExpandedBlockStart.gifContractedBlock.gif     {
 3        public string name = "我是按钮";
 4        public delegate void ClickEventHandler(Object sender ,ClickEventArgs e);
 5        public event ClickEventHandler click;
 6        public class ClickEventArgs : EventArgs
 7ExpandedSubBlockStart.gifContractedSubBlock.gif        {
 8            public readonly string name;
 9            public ClickEventArgs(string name)
10ExpandedSubBlockStart.gifContractedSubBlock.gif            {
11                this.name = name;
12            }

13        }

14        public virtual void OnClick(ClickEventArgs e)
15ExpandedSubBlockStart.gifContractedSubBlock.gif        {
16            if (click != null)
17ExpandedSubBlockStart.gifContractedSubBlock.gif            {
18                click(this, e); 
19            }

20        }

21        public void danji()
22ExpandedSubBlockStart.gifContractedSubBlock.gif        {
23            ClickEventArgs e = new ClickEventArgs(name);
24            OnClick(e);
25        }

26
27    }

28      public   class  task
29 ExpandedBlockStart.gifContractedBlock.gif     {
30        public void OnClick(Object sender ,Button.ClickEventArgs e)
31ExpandedSubBlockStart.gifContractedSubBlock.gif        {
32            Console.WriteLine(e.name);
33        }

34    }

35      class  ClickEvent
36 ExpandedBlockStart.gifContractedBlock.gif     {
37        static void Main(string[] args)
38ExpandedSubBlockStart.gifContractedSubBlock.gif        {
39            Button btn = new Button();
40            btn.click += (new task()).OnClick;
41            btn.danji();
42        }

43    }

 

那篇文章写的非常好,我就不介绍了,给出网址,大家可以去看看。

http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html

转载于:https://www.cnblogs.com/suimengsiqu/archive/2008/11/03/1325131.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值