各位大侠:
         请问下如何使按钮在一定的时间段内无效,情景如下:
         当我点击按钮时,按钮会触发按钮事件,在第一次触发该事件后我希望在一定的时间段内(如10S)再次点击该按钮时无效,当超过该时间段时,按钮事件才生效。
         即避免快速重复点击带来的影响。
         哪位大侠知道的告知一声,在下感激不尽! 谢谢!

解决方案 »

  1.   

    用timer  在触发事件时开始
      

  2.   

    可以在按钮刚刚开始时禁用按钮,在处理完所有事情之后再启用按钮就行。
    private void Button1_Click(object sender,EventArgs e)
    {
    Button1.Enable=false;//禁用按钮
    ....//处理事件
    Button1.Enable=true;//启用按钮
    }
      

  3.   

    也可以使用线程或者Timer控件之类的。
      

  4.   

    在第一次触发事件的响应函数中起一个timer并disable按钮,在规定时间后timer tick时将按钮enable并停止timer.
      

  5.   

    添加一个计时器和一个全局变量BOOL
    点击按钮后计时器开始计时并设定全局变量的值为TRUE
    在按钮函数里面加判断,当全局变量值为TRUE的时候不执行代码
    然后时间到以后计时器停止,再把全局变量的值改回FALSE
      

  6.   

    可以用定时器来实现在button的点击事件里这么写        private void button3_Click(object sender, EventArgs e)
            {
                button3.Enabled = false;
                timer1.Enabled = true;
                //你自己的代码
            }
    在Timer的事件中这么写:            timer1.Enabled = false;
                button3.Enabled = true;
      

  7.   


    点击按钮时,按钮本身disable,同时按钮事件生成一个TIMER,TIMER事件间隔为你要的间隔时间,TIMER的触发事件为按钮Enable.
      

  8.   

    还是用TIMER控件实现比较简单点
      

  9.   

    private void button1_Click_1(object sender, EventArgs e)
            {
                Timer timer1 = new Timer();
                timer1.Interval = 10000;
                timer1.Tick += new EventHandler(timer1_Tick);
                button1.Enabled = false;
                timer1.Start();
            }        private void timer1_Tick(object sender, EventArgs e)
            {
                button1.Enabled = true;
                (sender as Timer).Stop();
            }
      

  10.   

    不可点的话 
            private void btnSave_Click(object sender, EventArgs e)
            {
                //do sth
                btnSave.Enabled = false;
                timer1.Enabled = true;
            }
            private void timer1_Tick(object sender, EventArgs e)
            {
                btnSave.Enabled = true;
                timer1.Enabled = false;
            }点击无效        bool flag=true;
            private void btnSave_Click(object sender, EventArgs e)
            {
                if(flag)
                {
                        //do sth
                        flag=false;
                        timer1.Enabled = true;
                }
            }
            private void timer1_Tick(object sender, EventArgs e)
            {
                flag=true;
                timer1.Enabled = false;
            }
      

  11.   

    不用timer也可以实现:
    <script type="text/javascript>
       var clickTime = null;
       function foo() {
          if (clickTime != null)  {
              var t = new Date();
              if (t.getTime() - clickTime < 10000)
                  return;
          } 
          var s = new Date();
          clickTime = s.getTime();
          //点击按钮后要执行的代码
       }
    </script><input type="button" id="mybutton" value="test" onclick="foo()" />
      

  12.   

    这个可以,但是是禁止点击,不是反复点击的时候无效,不能点击呀
    给button+- new事件吧,时间函数里可以写