一尘不染

C#验证Winforms上文本框的输入

c#

在将文本保存到数据库之前,我想检查用户在文本框中写的内容。做这个的最好方式是什么?我想我总是可以写一些if或try-
catch块,但是我想知道是否有更好的方法。我已经阅读了有关验证事件的内容,但是不确定如何使用它们。


阅读 491

收藏
2020-05-19

共1个答案

一尘不染

描述

有很多方法可以验证您的TextBox。您可以在以后每次击键或Validating事件时执行此操作。

Validating如果您的TextBox失去焦点,则会触发该事件。例如,当用户单击另一个控件时。如果设置,e.Cancel = true则TextBox不会失去焦点。

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#中使用错误提供程序控件

更多信息

2020-05-19