即使在按下按键后,也可以通过按键调用button_click来获取恼人的惊叹声(a.k.a“Ding”)

时间:2017-05-01 09:59:40

标签: c#

因此密码字段被编码以调用Enter上的“登录”按钮。如果输入的凭据错误,控件将转到catch块并显示消息框。

当用户输入错误的用户名/密码并点击进入时,调用button_click方法,控制进入catch块并显示消息框以及超级恼人的“ding”(为什么他们甚至有这个?)。

但是,即使方法相同,用户在错误的用户名/密码后单击按钮也不会发出声音。

不用说我已经设置了SuppressedKeyPress。请帮忙。感谢

Textbox_KeyDown():

private void textBox2_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            button2_Click(sender, new EventArgs());

            e.Handled = true;
            e.SuppressKeyPress = true;
        }
    }

Button_click():

private void button2_Click(object sender, EventArgs e)
    {            
        try
        {
            ......
        }
        catch(Exception ex)
        {
            MessageBox.Show("User does not exist");  //Where the ding occurs only on keypress and not on direct button click
        }

    }

我怀疑是因为在button_click调用期间传递的对象和事件标记,但是再一次,我只是一个菜鸟。再次感谢

1 个答案:

答案 0 :(得分:0)

您可以通过不使用事件来调用button2_Click事件处理程序,而是通过将表单的AcceptButton设置为button2来解决此问题。这意味着当您在任何输入控件上按Enter键时,它将调用按钮的单击事件。