所谓的潇洒

导航

程序假死问题处理

当按钮处理函数需要长时间循环执行一些任务的时候,界面会有卡死的现象,处理方案如下:

button1_Click
{
  button1.Enable=false;//禁用相关控件,防止资源交叉导致意外情况
  try
  {
    if(输入不合法)//输入校验
    {
      button1.Enable=true;//恢复相关控件启用
      return;
    }
    for
    {
      执行按钮核心任务
      Application.DoEvents();//相应其他事件,防止假死
    }
  }
  catch(Exception ex){
    Log();
  }
  button1.Enable=true;//恢复相关控件启用
}

 

注意:如果半路需要return记得恢复相关控件为启用状态,就像输入校验那样。

posted on 2019-10-14 20:18  所谓的潇洒  阅读(758)  评论(0编辑  收藏  举报