实例代码:
Button btnTest=new Button();
btnTest.Click+=new EventHanlder(btnTest_Click1);
btnTest.Click+=new EventHanlder(btnTest_Click2);
...
btnTest.Click+=new EventHanlder(btnTest_Clickn);void btnTest_Click1(sender , e)
{
       //条件判断
       if(true)
       {
                //这里通过什么方法能不触发后面的 click2到clickn 线程
       }
       else
       {
                return; //程序将继续触发剩余的事件
       }
}

解决方案 »

  1.   

    这是打个比方,实际一共2个事件
    btnTest.Click+=new EventHanlder(CheckPermission);//被封装
    btnTest.Click+=new EventHanlder(btnTest_Click);  //用户增加当CheckPermission 方法中,判断当前无权限执行btnTest_Click的时候,终止btnTest_Click的执行。
      

  2.   

    btnTest.OnClick+=new EventHanlder(CheckPermission);//
    btnTest.OnClick+=new EventHanlder(btnTest_Click); //CheckPermission(sender, e)
    {
        Delegate[] dlgs= GetList(sender as TextBox);//通过反射获得
        //通过反射获得 dlgs 中包含 CheckPermission和btnTest_Click
        //这里如何阻止 btnTest_Click 执行?
    }