把Button设置为不可用时为啥还可以响应单击事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把Button设置为不可用时为啥还可以响应单击事件相关的知识,希望对你有一定的参考价值。
单击事件不一定只由button触发,比如你可以在某个textbox的change事件里调用button的单击事件或者说,单击事件本身只是一个方法,单击button触发只是因为将这个方法绑定在了button的Click事件上。追问
private void button1_Click(object sender, EventArgs e)
button1.Enabled = false;
this.label1.Text += "--123";
for (int i = 3000; i > 0; i--)
for (int j = 300000; j > 0; j--)
;
button1.Enabled = true;
这样只是在界面上禁止了button的点击,但是这个方法本身并没有被禁用啊
button1.Enabled = false; 之后的语句也依然要运行完才能结束方法啊
再说一次,enabled只是设置控件不响应鼠标、键盘的动作,不影响事件所绑定的方法的执行
我的意思是,按钮变灰后,再点击按钮还是能执行 按钮事件,不太合适吧,已经变灰啦 怎么还能执行那
追答应该不能了才对
但是刚才没结束的那个方法,还得继续
为啥 Gtk 的 button_press_event 不会收到单击左键?
【中文标题】为啥 Gtk 的 button_press_event 不会收到单击左键?【英文标题】:Why won't Gtk's button_press_event receive single left clicks?为什么 Gtk 的 button_press_event 不会收到单击左键? 【发布时间】:2009-06-30 18:19:43 【问题描述】:我正在尝试在 Gtk::Notebook (gtkmm) 中设置一个添加选项卡按钮。我通过将像素图绘制到计算位置来做到这一点——效果很好。但是,当尝试为其接收事件时,我无法单击左键。单中间和单右提供新闻和发布事件,双左只提供新闻事件,但单左不注册任何东西。如何正确接收事件?
【问题讨论】:
您是要捕捉按钮还是图像的点击事件?左键单击可能会被按钮捕获并且永远不会传播到图像,右键单击可能只是传递。 没有按钮 -- 图片位于选项卡右侧空白区域的顶部。 【参考方案1】:您是否在GtkEventBox
中绘制了您的图像?
【讨论】:
我手动绘制图像的原因是因为它需要位于另一个小部件之上。有没有一种简单的方法可以将 EventBox 放在特定的像素位置? 那将是一个 GtkFixed 小部件。以上是关于把Button设置为不可用时为啥还可以响应单击事件的主要内容,如果未能解决你的问题,请参考以下文章
asp.net中没用js绑定回车事件,可是为啥在文本框中输入内容后按回车键还会触发该事件?求大神解释下!