在将文本保存到数据库之前,我想检查用户在文本框中写的内容。做这个的最好方式是什么?我想我总是可以写一些if或try- catch块,但是我想知道是否有更好的方法。我已经阅读了有关验证事件的内容,但是不确定如何使用它们。
有很多方法可以验证您的TextBox。您可以在以后每次击键或Validating事件时执行此操作。
Validating
Validating如果您的TextBox失去焦点,则会触发该事件。例如,当用户单击另一个控件时。如果设置,e.Cancel = true则TextBox不会失去焦点。
e.Cancel = true
MSDN-Control.Validating事件 当您使用键盘(TAB,SHIFT + TAB等),通过调用Select或SelectNextControl方法或将ContainerControl.ActiveControl属性设置为当前窗体来更改焦点时,焦点事件按以下顺序发生 输入 重点 离开 证实 已验证 失落的焦点 当您使用鼠标或通过调用Focus方法来更改焦点时,焦点事件将按以下顺序发生: 输入 重点 失落的焦点 离开 证实 已验证
MSDN-Control.Validating事件 当您使用键盘(TAB,SHIFT + TAB等),通过调用Select或SelectNextControl方法或将ContainerControl.ActiveControl属性设置为当前窗体来更改焦点时,焦点事件按以下顺序发生
输入
重点
离开
证实
已验证
失落的焦点
当您使用鼠标或通过调用Focus方法来更改焦点时,焦点事件将按以下顺序发生:
private void textBox1_Validating(object sender, CancelEventArgs e) { if (textBox1.Text != "something") e.Cancel = true; }
您可以使用ErrorProvider来可视化您的TextBox无效。检出在Windows窗体和C#中使用错误提供程序控件
ErrorProvider