// Objective: to monitor the application status using anonymous delegation and dynamic event registration
// Restrictions: control events are registered through commandhelper
// Event registration help class
Public class commandhelper
{
Public static void extends mhandler (Object sender, eventargs E)
{
// Capture the status of user operations in this method;
}
/// <Summary>
/// Register an event
/// </Summary>
/// <Param name = "command"> command object </param>
/// <Param name = "handler"> response DeleGate </param>
Public static void registeclickevent (Object command, system. eventhandler handler)
{
System. reflection. eventinfo = command. getType (). getevent ("click", system. reflection. bindingflags. instance | system. reflection. bindingflags. static | system. reflection. bindingflags. public );
If (eventinfo! = NULL)
{
Eventinfo. addeventhandler (command, Handler );
Eventinfo. addeventhandler (command, new system. eventhandler (receivmhandler ));
}
}
}
// Customer Code
// Register a key event
.....
Commandhelper. registeclickevent (this. tsbaddnew, delegate (Object o, eventargs P)
{
// Call the subform when you click
Qxfunctionmanager_edit editor = new qxfunctionmanager_edit ();
Editor. showdialog ();
}
);
......