如何验证C#.net winforms中的文本框
我有一个表单,我需要验证文本框,如Firstname、Middlename、Lastname、emailId、date、mobilenumber。验证应该在用户开始在文本框中键入时进行。如果用户输入数字代替文本和文本代替数字,errorprovider应在文本框下显示消息。我开始了解隐式验证和显式验证,但我觉得使用隐式验证更好,因为当用户失去对文本框的关注或切换到另一个文本框时,它会及时提供错误。我已经用一个明确的验证代码提出了这类问题,但没有人回答我。所以我很容易得到帮助。在发布此问题之前,请不要认为我没有做足够的研究。您应该查看文本框中的TextChanged事件 如果文本属性被更改,则引发此事件 编程修改或用户交互 我会这样做如何验证C#.net winforms中的文本框,winforms,c#-4.0,textbox,validation,errorprovider,Winforms,C# 4.0,Textbox,Validation,Errorprovider,我有一个表单,我需要验证文本框,如Firstname、Middlename、Lastname、emailId、date、mobilenumber。验证应该在用户开始在文本框中键入时进行。如果用户输入数字代替文本和文本代替数字,errorprovider应在文本框下显示消息。我开始了解隐式验证和显式验证,但我觉得使用隐式验证更好,因为当用户失去对文本框的关注或切换到另一个文本框时,它会及时提供错误。我已经用一个明确的验证代码提出了这类问题,但没有人回答我。所以我很容易得到帮助。在发布此问题之前,请
private void TextBoxExample_TextChanged(object sender, EventArgs e)
{
TextBox box = sender as TextBox;
if (box.Text.Contains("Example"))
{
LabelError.Text = "Error";
}
else
{
LabelError.Text = string.Empty;
}
}
希望有帮助:)您也可以使用keyPressEvent来避免在文本框中输入数值 它不允许在文本框中使用数字字符
private void textboxName_KeyPress(object sender, KeyPressEventArgs e)
{
//not allowing the non character values
if (!char.IsLetter(e.KeyChar) && !char.IsControl(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) && !(e.KeyChar == (char)Keys.Left) && !(e.KeyChar == (char)Keys.Right) && !(e.KeyChar == (char)Keys.Space) && !char.IsPunctuation(e.KeyChar))
{
e.Handled = true;
}
}
如果你有一个非常具体的验证要做,马克的答案是正确的。但是,如果您只确保“输入数字而不是字母”或“输入字母而不是数字”功能,则MaskedTextBox会比您做得更好(用户将无法回答错误数据,您仍然可以通过处理MaskInputRejected事件来警告他们)
我是否需要为每个textbox单独实现此功能。不,您可以将所有textbox TextChanged事件附加到此方法。