C# 在文本框中按enter键将调用一个方法

C# 在文本框中按enter键将调用一个方法,c#,methods,textbox,C#,Methods,Textbox,我有一个文本框,当我在其中键入值时,我希望它使用该值调用一个计算方法。然后,该方法将答案显示在单独的标签中 目前,我已经设置了一个默认按钮来点击回车键,但我有多个按钮,并不总是想点击它们来获得答案。如果可能的话,按enter键调用方法似乎效果更好 这是我的密码: private void btnCalculateL_Click(object sender, EventArgs e) { CalLeg(); } private void CalLeg() { if (!strin

我有一个文本框,当我在其中键入值时,我希望它使用该值调用一个计算方法。然后,该方法将答案显示在单独的标签中

目前,我已经设置了一个默认按钮来点击回车键,但我有多个按钮,并不总是想点击它们来获得答案。如果可能的话,按enter键调用方法似乎效果更好

这是我的密码:

private void btnCalculateL_Click(object sender, EventArgs e)
{
    CalLeg();
}

private void CalLeg()
{
    if (!string.IsNullOrWhiteSpace(txtThroat.Text))
    {
        throatThickness = float.Parse(txtThroat.Text);
        legCal = 1.41421f * throatThickness;
        // throatThickness x leg / 1.41421
        lblAnswer.Text = legCal.ToString();
    }
    else
        lblAnswer.Text = "Please Enter a Value";
    // (throatThickness*legLength)/1.41421;
 }

您可以像这样绑定文本框的
KeyDown
事件,即
txtworner

private void txtThroat_KeyDown(object sender, KeyEventArgs e)
{
  if (e.KeyData == Keys.Enter)
  {
    CalLeg();
  }
}

你在用什么?ASP.NET、WinForms、WPF?查看textchanged事件我已将此段粘贴到我的代码中,但按enter键不起任何作用。在文本框的windows窗体设置中,我已将AcceptsReturn设置为True,但仍不工作。当我单击调用该方法的按钮时,效果很好。@PaulCarson,这很奇怪。当您按下enter键时,是否可以调试并查看在
txtwornance\u KeyDown
中执行的操作?还不太确定如何调试,但我已将其设置为仅在标签上显示文本,而不是方法,并且按下enter键时仍然不会发生任何事情?实际上,您必须将事件与事件处理程序绑定。在InitializeComponent方法中,应该有这样一行
this.txtwornant.KeyDown+=new System.Windows.Forms.KeyEventHandler(this.txtwornant\u KeyDown)完美修复了它。谢谢