一个button我直接放在窗体里面 用下面代码
private void button1_Click_1(object sender, EventArgs e)
{
button1.Enabled = false;
Thread.Sleep(5000);
button1.Enabled = true;
}
这样子是我要的效果,点击button,把 button设置成不可用,然后处理事情,处理完了,再设置成可用状态 。
但是如果这个放到TabControl里面就不会有这种效果,点击是按钮就会5秒后才响应完成。
------解决思路----------------------
你这段代码就是 按钮就会5秒后才可点击,不同在哪
------解决思路----------------------
用backgroundWorker 的RunWorkerCompleted方法。单线程模式
http://www.cnblogs.com/inforasc/archive/2009/10/12/1582110.html
------解决思路----------------------
用backgroundWorker 的RunWorkerCompleted方法
这个方法是委托给主线程调用的,所以里面不用自己写委托了
所以你可以先在主线程里设置Enable=false;然后在RunWorkerCompleted里设置Enable=true;
至于你想在DoWork里操作UI,依然还是得自己写委托.