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