请教一个Enabled值的改变引发Click事件的问题。 我在一个按钮控件上写了Click事件。要求Click事件执行到最后使它的Enabled = false. 但是我发现在其他地方使该按钮Enabled = true时,它竟然执行了Click事件。更奇怪的是我在Click事件里设了断点,Enabled = true时截获不到,但的确是执行了Click事件。请问什么原因?怎么抑制Enabled = true触发Click事件?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 除非你人为地在某个地方给Enabled设置了事件并执行Click否则你说的情况不可能发生所以,问题的发生并非如你想象的那样。 你肯定是编写了EnabledChanged这个事件 不需要抑制,Enabled = true 与 触发Click事件 完全没有关系。 在属性框里,我检查了这个按钮的事件句柄,我只设了唯一的这个Click事件,没有其他事件,更没有Enabled的事件。 继承button并且使用OnClick()方法来实现你的逻辑,不难 lianshaohua,我是贫农,能否说的具体些,谢谢!另外,前面几位说的也有道理,可是我不知道错在那里,有经验的能否给个提示,可能错的位置…… 这个没法提示,因为这个错误很少有人犯而且确定一定以及肯定是你在某个过程触发了Click事件具体在哪个过程,没有看到你的代码任何人都不能说出具体的出错位置。 我在一个组合框的cmbSelectedTable_SelectedIndexChanged()事件中设了按钮的this.btnTransfer.Enabled = true;在按钮tnTransfer_Click(object sender, EventArgs e) { …… this.grdTransferTable.Focus(); this.btnTransfer.Enabled = false; }事件中设了this.btnTransfer.Enabled = false;整个窗体除了构造函数外就这两个事件。而且我发现组合框一改选值,按钮事件的结果产生,但按钮内事件的断点截不到。 问题找到了。的确是我的粗心。断点截不到,说明一定没有执行Click事件。结果产生了,说明在其他地方执行了。Enabled与Click事件没有关系的,这使我认识上的错误,谢谢大家的提示。结贴。 多线程访问数据库 求:关于字节数组的区别 画线,谁会?? C#与C语言socket传送文件问题 如何把这些语句放在一个外部类中,谢谢. 这个问题有点怪? 如何实现软件的自动更新功能,用C#写相关和程序源程序,请给出源码,谢谢了 C#.Net窗体中如何接收键盘事件及如何处理它? WinForm里如何总是选定DataGrid的某一行? 请问一下各位大侠,有没有Antechinus c# Editor 的注册码或注册方法??? 如何使用Parameter【】传递存储过程的参数??有例子最好,谢谢!!! float数据添入数据库问题
否则你说的情况不可能发生
所以,问题的发生并非如你想象的那样。
Enabled = true 与 触发Click事件 完全没有关系。
这个没法提示,因为这个错误很少有人犯
而且确定一定以及肯定是你在某个过程触发了Click事件
具体在哪个过程,没有看到你的代码
任何人都不能说出具体的出错位置。
在按钮tnTransfer_Click(object sender, EventArgs e)
{
…… this.grdTransferTable.Focus();
this.btnTransfer.Enabled = false;
}
事件中设了this.btnTransfer.Enabled = false;整个窗体除了构造函数外就这两个事件。而且我发现组合框一改选值,按钮事件的结果产生,但按钮内事件的断点截不到。