|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无论谁倒了对双方阵营的粉丝们也是有害无益。<p>事务,是C#编程模子中主要的一个观点,经由过程对事务的了解,能够更好的懂得C#程序运转机制。C#中的事务,能够复杂的了解为类大概工具产生了一件事,而且把这件事关照给了其他的类大概工具,其他的类大概工具能够依据事务的动静有所反响。这十分相似计划形式中的察看者形式。
激发事务的类或工具,能够称之为事务源,注册并对处置事务的类大概工具能够称为事务定阅者大概事务监听者,我对照喜好称之为事务监听者。
好比:构建一个winform使用,在窗体Form1复杂安排一个按钮控件,然后,双击按钮,则能够进进代码视图中按钮click事务处置程序。
<olclass="dp-c">privatevoidbutton1_Click(objectsender,EventArgse)///sender即暗示事务源,e暗示经由过程事务传送过去的动静}
这时候,还能够翻开Form1.designer.cs,还能够找到以下代码:
<olclass="dp-c">this.button1.Click+=newSystem.EventHandler(this.button1_Click);
这行代码标明,以后窗体注册了click事务(click就是Button工具的一个事务),而且用button1_Click办法举行了处置。EventHandler是一个托付,关于托付可拜见我的上一篇文章C#基本观点之托付
以上是对C#事务的一些复杂的注释。固然,我们也能够自界说事务。
自界说事务,分为以下几步:
第一步:起首在事务源工具界说事务
<olclass="dp-c">//界说事务publiceventEventHandlermyevnet;
第二步:在事务监听者,定阅事务
<olclass="dp-c">//事务注册this.myevnet+=newEventHandler(MyEventHandler);
第三步:在事务监听者,编写事务处置代码:
<olclass="dp-c">///<summary>///事务的处置///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidMyEventHandler(objectsender,EventArgse){essageBox.Show("myeventisraised.......");}
第四步:在事务源工具激发事务
<olclass="dp-c">//判别事务是不是被注册if(myevnet!=null){//激发事务myevnet(this.button1,newEventArgs());}
这仅是个演示,供列位参考,上面给出完全代码,便利测试
复杂自界说事务,完全代码
<divclass="code"><olclass="dp-c">publicpartialclassForm1:Form{//界说事务publiceventEventHandlermyevnet;publicForm1(){InitializeComponent();//事务注册this.myevnet+=newEventHandler(MyEventHandler);}privatevoidbutton1_Click(objectsender,EventArgse){MessageBox.Show("button1_Click");//判别事务是不是被注册if(myevnet!=null){//激发事务myevnet(this.button1,newEventArgs());}} |
|