Synchronization event
1. Declare events
// Transmits messages.
Public Delegate void methodcall (string message );
Public static event methodcall requestdata;
2. register an event
Register an event in the page_load event
Requestdata + = new methodcall (formdatagridviewdatatable_requestdata );
3. An explicit trigger event
Private void button8_click (Object sender, eventargs E)
{
If (requestdata! = NULL) requestdata ("Click me" + datetime. Now. tostring ());
}
4. Execute the event
Private void formdatagridviewableable_requestdata (string message)
{
TEXT = message;
}
Asynchronous events
1. Declare events
Public event eventhandler analysefiledatacompleted;
Public void onanalysefiledatacompleted ()
{
Eventhandler handler = (eventhandler) analysefiledatacompleted;
If (handler! = NULL)
{
Handler. Invoke (this, null );
}
}
2. register an event
Analysefiledatacompleted + = new eventhandler (formdatagridviewableable_analysefiledatacompleted );
3. An explicit trigger event
Private void button8_click (Object sender, eventargs E)
{
Onanalysefiledatacompleted ();
}
4. Execute the event
Private void formdatagridviewableable_analysefiledatacompleted (Object sender, eventargs E)
{
For (INT I = 0; I <12000000; I ++)
{
TEXT = "asynchronous event ";
}
MessageBox. Show ("00 ");
}
Generic asynchronous events
1. Declare events
Public event eventhandler <fileanalysiseventargs <t> analysefiledatachanged;
Public void onanalysefiledatachanged (fileanalysiseventargs <t> Arg)
{
Eventhandler <fileanalysiseventargs <t> handler = (eventhandler <fileanalysiseventargs <t>) analysefiledatachanged;
If (handler! = NULL)
{
Handler. Invoke (this, ARG); // use asynchronous transmission of messages
}
}
2. register an event
_ Fileanalyse. fileevent. analysefiledatacompleted + = new eventhandler <fileanalysiseventargs <t> (fileevent_analysefiledatacompleted );
3. An explicit trigger event
Private void button8_click (Object sender, eventargs E)
{
_ Fileanalyseevent. onanalysefiledatachanged (New fileanalysiseventargs <t> {analyseentity = tmpety, linenum = linenum });
}
4. Execute the event
Protected void fileevent_analysefiledatachanged (Object sender, fileanalysiseventargs <t> E)
{
_ Form. Invoke (methodinvoker) Delegate
{
});
}