点击按钮,处理需要时间。连续点击,就会崩掉。有什么方法避免?

解决方案 »

  1.   

    点击后 m_yourBtn.EnableWindow(false);
    过程完毕 m_yourBtn.EnableWindow(true);
      

  2.   

    也不一定要失效的啊 你可以在处理按钮的 函数里面 加一个判断的变量啊 bool isbtn=false;
    void CXXXDlg::OnBnClickedStartBtn()
    {
    if(isbtn==false)
    {
    isbtn=true;
    //加上处理模块
    }
    }
    或者是 用多线程,这样的话也不会死的当然 如果让 按钮变灰 也是可以的  方法很多啊   自己需要开动大脑
      

  3.   

    我现在用的就是这个方法,不过用的是int ICOUNT = 0;
      

  4.   


    1. 在处理完之前disable按钮。 
    2. 换台配置高的机器。
      

  5.   

    可以简单设置一个BOOL变量,初始化为TRUE,在你点击按钮后设置为FALSE,动作执行完设置为TRUE,判断如果是TRUE再执行你的动作。
      

  6.   


    用全局变量不如在函数内部使用静态变量,更安全
    void CXXXDlg::OnBnClickedStartBtn() 

       static isbtn = false; 
       if(isbtn==false) 
       {     
           isbtn=true;    
           //加上处理模块 
           isbtn=false; 
       } 
    }