A .NET-compatible event : Event : GUI Windows Forms C# Examples


C# Examples » GUI Windows Forms » Event »

 

A .NET-compatible event









    
using  System;  
  
//  Derive  a  class  from  EventArgs.  
class  MyEventArgs  :  EventArgs  {  
    public  int  eventnum;  
}  
  
//  Declare  a  delegate  for  an  event.    
delegate  void  MyEventHandler(object  source,  MyEventArgs  arg);  
  
//  Declare  an  event  class.  
class  MyEvent  {  
    static  int  count  =  0;  
  
    public  event  MyEventHandler  SomeEvent;  
  
    //  This  fires  SomeEvent.  
    public  void  OnSomeEvent()  {  
        MyEventArgs  arg  =  new  MyEventArgs();  
  
        if(SomeEvent  !=  null)  {  
            arg.eventnum  =  count++;  
            Console.WriteLine("Event  fired");
            SomeEvent(this,  arg);  
        }  
    }  
}  
  
class  X  {  
    public  void  handler(object  source,  MyEventArgs  arg)  {  
        Console.WriteLine("Event  "  +  arg.eventnum  +  "  received  by  an  X  object.");  
        Console.WriteLine("Source  is  "  +  source);  
        Console.WriteLine();  
    }  
}  
  
class  Y  {    
    public  void  handler(object  source,  MyEventArgs  arg)  {  
        Console.WriteLine("Event  "  +  arg.eventnum  +  "  received  by  a  Y  object.");  
        Console.WriteLine("Source  is  "  +  source);  
        Console.WriteLine();  
    }  
}  
  
class  MainClass  {  
    public  static  void  Main()  {    
        X  ob1  =  new  X();  
        Y  ob2  =  new  Y();  
        MyEvent  evt  =  new  MyEvent();  
  
        //  Add  handler()  to  the  event  list.  
        evt.SomeEvent  +=  ob1.handler;  
        evt.SomeEvent  +=  ob2.handler;  
  
        //  Fire  the  event.  
        evt.OnSomeEvent();  
        evt.OnSomeEvent();  
    }  
}
    
   
  
   



Output

Event fired
Event 0 received by an X object.
Source is MyEvent

Event 0 received by a Y object.
Source is MyEvent

Event fired
Event 1 received by an X object.
Source is MyEvent

Event 1 received by a Y object.
Source is MyEvent


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo GUI Windows Forms
» Event