1. Class object code
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingsystem.timers;namespacewinformeventtest{/// <summary> ///an object class that defines a showstring event/// </summary> Internal classEventClass {/// <summary> ///declaring a delegate/// </summary> /// <param name= "a" >parameters passed by the delegate</param> Public Delegate void Broadcasteventhander(stringa); /// <summary> ///declaring delegate-related events/// </summary> Public Event Broadcasteventhander broadcast; /// <summary> ///declaring Timers/// </summary> PrivateTimer _timer; /// <summary> /// /// </summary> PublicEventClass () {_timer=NewTimer ( +); _timer. Elapsed+=NewElapsedeventhandler (timer_elapsed); _timer. Enabled=true; } /// <summary> ///internal timer events for simulating event generation/// </summary> /// <param name= "Sender" ></param> /// <param name= "E" ></param> voidTimer_elapsed (Objectsender, Elapsedeventargs e) { Try{Broadcast ("message from the EventClass object event:"+ DateTime.Now.ToString ());//Generate Events } Catch(Exception) {} }}}
2.Winform Invocation Example
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespacewinformeventtest{ Public Partial classForm1:form {//declaring VariablesEventClass _eventclass; /// <summary> ///Console Print String/// </summary> /// <param name= "a" ></param> Public voidConsoleshowtxt (stringa) {Console.WriteLine (DateTime.Now.ToString ()+" | "+ A +"\ n"); } PublicForm1 () {InitializeComponent (); //Member Initialize_eventclass =NewEventClass (); //Member Event Initialize_eventclass.broadcast + =NewEventClass.Broadcasteventhander(Consoleshowtxt);//Delegate class event (broadcast) binding actual processing method (Consoleshowtxt) } }}
Event definitions for C # class objects