控件Enabled属性设成false,怎么还能让它响应事件??
解决方案 »
- Devexpress View 导出Excel
- 关于Windows服务的问题
- 连接数据库时候怎样使用相对路径?
- 关于panel上的自动滚动条
- Replace 简单问题
- 为什么datagrid里不能显示表里的整型字段??在线等待……
- 关于复选框(CheckBoxList)设置默认值的一个问题.
- WPF 字符滚动
- Dev GridControl如何将视图移动到当前获得焦点的行啊
- 请问《C#高级编程》第二版(1030页)比前一版本(1180页)的内容区别到底有多大?我现有前一版本,还需要再购买第二版本吗?请赐教!
- 泣血求书.........................
- 有谁知道吗??这样的数据在C#中如何批量生成???谢谢请教了
{
button7.Enabled = false;
System.Threading.Thread.Sleep(6000);
button7.Enabled = true;
} private void button7_Click(object sender, System.EventArgs e)
{
MessageBox.Show("aaa");
}这是代码例子。
在7enable = false的时候,用鼠标点击,在等到enable=true的时候也会执行showmessage。
何解???
System.Threading.Thread.Sleep(6000);
button7.Enabled = true;
System.Threading.Thread.Sleep(1000);//这里再加一秒,刚button7的click为7秒以后响应。是个奇怪的问题。我想,这应该是线程阻塞与消息的关系,也不知.Net是不是有意这样设计,虽然你将button7设为了false,但你在其线种阻塞期间点击了button7,因当前线程中随后使button7设为了true,其消息被延续。如果加入异步,就可以了。把button7=true放在异步中。
private void button6_Click(object sender, System.EventArgs e)
{
button7.Enabled = false;
System.Threading.Thread.Sleep(6000);
System.EventHandler h = new EventHandler(button7Enable);
h.BeginInvoke(null,null,null,null);
}
private void button7Enable(object sender,System.EventArgs e)
{
System.Threading.Thread.Sleep(100);
button7.Enabled = true;
}