C# 按ENTER键时是否单击触发按钮?
我已成功分配ENTER键以触发button1 click事件。当我点击回车键时,它会打开表单“开始菜单”。然而,它会这样做两次。不止一次。我在代码中找不到问题,有人能帮我吗 这是我的代码:C# 按ENTER键时是否单击触发按钮?,c#,forms,button,textbox,C#,Forms,Button,Textbox,我已成功分配ENTER键以触发button1 click事件。当我点击回车键时,它会打开表单“开始菜单”。然而,它会这样做两次。不止一次。我在代码中找不到问题,有人能帮我吗 这是我的代码: public Login() { InitializeComponent(); this.textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown); } private void button1_Click_1
public Login()
{
InitializeComponent();
this.textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown);
}
private void button1_Click_1(object sender, EventArgs e)
{
if (somethingsomething == true)
{
Startmenu sm = new Startmenu();
sm.Show();
}
else
{
MessageBox.Show("something");
}
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1.PerformClick();
e.Handled = true;
}
}
在button1\u单击1并检查调用堆栈以查看 谁在触发呼叫。请尝试以下操作:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1_Click_1.Click(sender,e);
}
}
不起作用。无论是否编辑此行“this.textBox1.KeyDown+=new keydeventhandler(textBox1_KeyDown);”以匹配。我得到以下错误:事件“System.Windows.Forms.Control.Click”只能出现在+=或-=?哦,很抱歉,在您的情况下应该是按钮1_Click_1而不是按钮1_Click,对不起,请检查我编辑过的答案,现在它工作得很好。请直接复制。现在它说:PresentationTier_Applikation.Login.button1_Click_1(object,System.EventArgs)”是一个“方法”,在给定的上下文中无效。现在不需要按键事件,只需编辑相同的代码,不管您发布了什么,只需替换textBox1_KeyDown()函数即可