我有点困惑,据我所知,当用户在输入所需文本后按下Enter键时,用于启动验证事件的文本框,但现在没有发生。
您知道这是否是预期的行为?
感谢。
答案 0 :(得分:2)
注意:如果CausesValidation
属性设置为false,则会禁止验证和验证事件。
答案 1 :(得分:2)
我使用类似于Javed Akram的答案的方法,但我没有调用Validating函数,而只是将焦点调用于父...
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
(sender as TextBox).Parent.Focus();
}
}
当TextBox本身失去焦点时,它将调用自己的Validating事件
答案 2 :(得分:1)
不,不记得。 TextBox通常仅在焦点被获取/丢失时进行验证,除非有人手动触发焦点。
Hvae看看Bolu的链接以获得验证触发器列表
答案 3 :(得分:-1)
当控件失去焦点时会触发验证事件,因此如果输入的密钥为 Enter 键,您可以在检查后在keyPress事件中自行触发验证事件。
示例代码:
private void someTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
someTextBox_Validating(sender, new CancelEventArgs());
}
}