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