避免用户重复点击按钮(使用Enable:=False,消息繁忙时会有堵塞的问题,只能改用Sleep)

// 现象描述:
//    用户点击按钮后程序开始繁忙工作,这时候用户不知道是否成功,就继续点几次
//    采用Enalbe = false ... = true的方式发现还会触发点击,分析原因如下
// 当程序繁忙的时候消息被堵住了
// 所以点击消息还会被处理
// 将队列里的消息处理掉后才打开按钮的Enabled

private void button1_Click(object senderEventArgs e)
{
    button1.Enabled = false;
    Thread.Sleep(2000);
    richTextBox1.AppendText(Environment.TickCount.ToString() + "/r/n");
    Application.DoEvents(); // 关键语句
    button1.Enabled = true;
}

http://blog.csdn.net/zswang/article/details/1575716

上一篇:1 asp.net 中如何把用户控件应用于母版页


下一篇:Vue在点击内部元素时(获得焦点),怎样让外部div元素样式变化?