使用textbox_validation事件验证用户输入
本文关键字:验证 用户 输入 事件 validation textbox 使用 | 更新日期: 2023-09-27 18:09:24
我试图在文本框中使用这个自定义方法进行用户输入验证。但我看到这里缺少的东西,现在我不能移动(焦点)到下一个文本框的形式!
private void textBox_Validating(object sender, CancelEventArgs e)
{
TextBox currenttb = (TextBox)sender;
if (currenttb.Text == "")
{
MessageBox.Show(string.Format("Empty field {0 }", currenttb.Name.Substring(3)));
e.Cancel = false;
}
else
{
e.Cancel = true;
}
}
在表单构造函数中使用foreach循环将处理程序添加到文本框中:
foreach(TextBox tb in this.Controls.OfType<TextBox>().Where(x => x.CausesValidation == true))
{
tb.Validating += textBox_Validating;
}
正如这里回答的那样,它的预期行为是失去焦点c#在winforms上验证文本框的输入:-
描述有很多方法来验证你的TextBox。你可以在每一个如果TextBox失去焦点,valididating Event将被触发例如,单击另一个控件。如果设置e.Cancel = true,则文本框不要失去焦点。
MSDN -控制。方法更改焦点时的验证事件键盘(TAB, SHIFT+TAB等),通过调用Select或方法,或通过设置ContainerControl。将ActiveControl属性设置为当前窗体的焦点事件按以下顺序发生
输入GotFocus
离开验证进行验证LostFocus
使用鼠标或调用focus来改变焦点时方法时,焦点事件按以下顺序发生:
输入GotFocus
LostFocus
离开验证进行验证