桦山涧

桦山涧
Asp.net ---->知识改变命运!
posts - 261, comments - 171, trackbacks - 6, articles - 3
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

事件[笔记][原]

Posted on 2008-04-16 17:54 桦林 阅读(...) 评论(...) 编辑 收藏
namespace Huashanlin
{
    
//定义委托ButtonEventHandler
    public delegate void ButtonEventHandler();

    
//向类中添加事件需要使用 event 关键字,并提供委托类型和事件名称。
    class TestButton
    
{

        
//定义事件 Hit,并与委托ButtonEventHandler关联。
        public event ButtonEventHandler Hit;

        
//声明一个触发事件Hit的方法PigRun()
        
//猪开始跑
        public void PigRun()
        
{
            Hit();
        }


    }


    
class EventTest
    
{
        
static void Main()
        
{
            TestButton Pig 
= new TestButton();
            
//列出将被Hit事件触发的方法清单
            Pig.Hit += new ButtonEventHandler(PigHitTree);
            Pig.Hit 
+= new ButtonEventHandler(MonkeyHitTree);
            Pig.Hit 
+= new ButtonEventHandler(YouHitPig);
            
//调用触发事件的方法
            Pig.PigRun();
        }


        
//以下是将在事件触发中通过委托添加进入执行过程的各方法
        
//猪撞树
        static void PigHitTree()
        
{
            Console.WriteLine(
"猪撞树上了!");
        }

        
//猴子撞树
        static void MonkeyHitTree()
        
{
            Console.WriteLine(
"猴子撞树上了!");
        }

        
//你撞猪上了
        static void YouHitPig()
        
{
            Console.WriteLine(
"你撞猪上了吧!");
        }

        


    }

}