C# 文本框。按键不';不响应返回键

C# 文本框。按键不';不响应返回键,c#,textbox,keydown,C#,Textbox,Keydown,我有一个带有各种文本框的表单。一个文本框用于输入浮点数,因此我使用TextBox.KeyPress依次处理每个数字,这只会修改text属性。文本由一个例程处理,该例程在按下OK按钮id(关闭表单之前)时调用。它也被TextBox.Leave事件调用。但是,如果更改文本框的内容,则按Return to variable不会更新 我认为我可以通过以下方式克服这一问题: private void DestPointNoTextBox_KeyDown(object sender, KeyEven

我有一个带有各种文本框的表单。一个文本框用于输入浮点数,因此我使用TextBox.KeyPress依次处理每个数字,这只会修改text属性。文本由一个例程处理,该例程在按下OK按钮id(关闭表单之前)时调用。它也被TextBox.Leave事件调用。但是,如果更改文本框的内容,则按Return to variable不会更新

我认为我可以通过以下方式克服这一问题:

    private void DestPointNoTextBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Return)
        {
            prvUpdateDestPointNo();
        }
    }
当文本框处于焦点时,只要按下一个键,就会调用该函数,这可以通过在其中设置断点来证明。但是,按下Return时不会调用它

有人能解释一下我如何确保在按下Return键时处理新文本吗?
如果我更改了其中一个的内容,然后单击“确定”按钮。如果您使用的是Windows窗体应用程序,请单击“新建”,然后,您可以将表单的AcceptButton属性设置为OK按钮,当您按下Enter/Return键时,OK按钮的Click事件将被触发。我将使用调试器在运行时确定
e.KeyCode

为什么?

当我运行类似的代码(Winforms TextBox,KeyDown注册)时,e.KeyCode的值是

e.KeyCode = LButton | MButton | Back
您可以使用的
KeyEventArgs
的另一个属性是
KeyValue
-

private void DestPointNoTextBox_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyValue == 13)
    {
        prvUpdateDestPointNo();
    }
}

将AcceptButton属性设置为OK按钮是什么意思?据我所知,
按钮控件
没有名为
AcceptButton
的属性,尽管
文本框控件
有一个名为
AcceptsReturn
的属性。以及如何使用
回车键调用任何按钮的
单击事件
除非它有键盘焦点?对不起,我指的是表单上的AcceptButton属性。您能告诉我们您用于获取值的例程吗?