删除用键盘输入触发按钮的可能性

时间:2016-11-25 14:58:05

标签: c# button input keyboard click

我有一个标准按钮,没有任何有趣的东西,一切都很完美:

private void Button_Click(object sender, EventArgs e)
{
    //Whatever, is not important what's in it
}

问题是,当我点击一个按钮时,如果之后按下例如输入键或空格键,它将触发按钮,就像我点击它一样。

我试过弄乱这些属性,也没有任何帮助。 如何以(可能)简单的方式防止这种情况发生?

回答任何需要它的人(放入按钮内):

if (e is MouseEventArgs)
{
     //what you want in for the button to do
}

2 个答案:

答案 0 :(得分:2)

如果点击按钮EventArgse(并且包含有关点击的信息),您可以检查给定MouseEventArgs的类型,否则只是{{} 1}}

EventArgs

答案 1 :(得分:0)

虽然Matteo Umili提供了一个有效的解决方案,但我认为如果有人发现它有用,我会分享这个解决方案:

只需将焦点从按钮移开到另一个控件即可。此解决方案需要另一个控件才能切换到焦点。在我的例子中,我使用的是标签。

    private void button2_Click(object sender, EventArgs e)
    {
        label1.Focus();
    }