因此密码字段被编码以调用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调用期间传递的对象和事件标记,但是再一次,我只是一个菜鸟。再次感谢
答案 0 :(得分:0)
您可以通过不使用事件来调用button2_Click
事件处理程序,而是通过将表单的AcceptButton
设置为button2
来解决此问题。这意味着当您在任何输入控件上按Enter键时,它将调用按钮的单击事件。