[英]Omit action when pressing Enter on button
有没有办法在按下键时忽略对按钮执行的任何操作? 我已经从SO中获得了一些很好的输入,并试图通过OnKeyPress或OnKeyDown来捕获事件-但我不能省略Enter-action。 我也喜欢禁用Tabstop属性的想法,但是一旦单击按钮,问题就会再次发生。
仅当按下“休闲”键(如a或z)时,才会触发OnKeyDown,但在按Enter键时,不会触发。 我如何才能检测到按钮本身(单击Enter时)?
当您按下ENTER
非多场内部有默认按钮集的形式,在click
这个按钮触发事件,如click
,不喜欢keyevent
( keypress
, keyup
, keydown
等)。
获取或设置用户按下ENTER键时单击的表单上的按钮。
如果您不希望这种行为(或想防止它),也许您应该将其删除为默认按钮。 但是,如果仅在某些情况下需要将其设置为默认值,则可以通过编程方式绑定/取消绑定:
form1.AcceptButton = btnSave;
form1.AcceptButton = null;
您可以使用:if(e.KeyCode == Keys.Enter){}
检查Button.IsDefault属性
好吧,事实是
当您按Enter [...]时,将触发此按钮的单击事件
让我考虑使用OnMouseUp(MouseEventArgs e)
方法而不是OnClick(EventArgs e)
。 我试了一下,它完全符合我的要求-再加上:它使我有机会仅从上述问题中排除包装的按钮,而不涉及应用程序中的任何其他控件(例如Form.AcceptButton
)。
感谢您的所有意见,这让我从另一个角度思考了这个问题!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.