日期:2014-05-18  浏览次数:21082 次

C# 如何退出 按钮事件?
在按钮里做几个动作
C# code

 button_click()
{
   action1()
   action2()
   action3()

}


 现在我想,当第一个动作,没有正确执行时,,就退出整个按钮事件,即,后面的动作都不执行了也
 
 怎么弄?
 试过了
 this.cloes()
 
 break;

 都不行

 application.exit(),这个不能用,,因为程序不能退出, 当界面设置正确了,需要再次执行按钮事件里的动作。。。



 

------解决方案--------------------
return?
------解决方案--------------------
能不能给第一个方法返回一个值,判断这个值来确定是否正确执行。可不可以呢?
------解决方案--------------------
如果有条件的return 可以跳出。
------解决方案--------------------
每个方法都加上一个返回值即可,根据返回值判断是否继续执行下一个方法
------解决方案--------------------
button_click()
{
try
{
action1();
}
catch{return;}

action2();


action3();


}
------解决方案--------------------
探讨
每个方法都加上一个返回值即可,根据返回值判断是否继续执行下一个方法

------解决方案--------------------
C# code

protected void button_click()
{
    try
    {
        action1();
        action2();
        action3();
    }
    catch 
    {
        // do nothing
    }
}

void action1()
{ 
    // Optional action ...
    if (something happeded)
    {
        throw new Exception();
    }
    // Optional action ...
}

------解决方案--------------------
补充说明:因为在action1()action2()action3()中没有定义Try Block, 所以当异常发生时就会Trace到调用点,如果调用点在Try Block中,异常就会被捕捉,继续执行catch 以后的语句。
------解决方案--------------------
用 try - catch 捕获异常处理啊
当然 如果楼主所谓的‘没有正常执行’不是指会抛异常的错误的话 那就if..else就足够了 

------解决方案--------------------
action1()
action2()
action3()

做成带返回值的方法,根据放回的值进行判断,如果满足退出条件就retrun
------解决方案--------------------
return
------解决方案--------------------
e.canel
------解决方案--------------------
用try
{}
catch()
{}

------解决方案--------------------
Return;
------解决方案--------------------
try
{action1()
}
catch {return
}
try
{action2()
}
catch {return
}

try
{action3()
}
catch {return
}

------解决方案--------------------
支持7楼!
------解决方案--------------------
Environment.Exit(0)来个重口味的