validationWinForms文本框(在C#中)

在TextBox_Leave事件中,我需要检查在文本框中input的数字是否在序列号或不。如果不是为了那么我需要显示一条消息作为“数字”丢失

例如 :

在文本框中,我已经input3,然后单击选项卡:我需要显示消息为“数字不是在序号中,数字”1“和”2“丢失”

Solutions Collecting From Web of "validationWinForms文本框(在C#中)"

我不知道这是否也适用于C#2.0,这是我在C#3.0的经验:

为什么使用TextBox_Leave呢? 验证事件应该用于验证输入是否正确。

结合使用Validating事件和使用ErrorProvider(您可以将其从工具箱拖到窗体上)来设置错误消息:它将显示为红色三角形(闪烁)感叹号。

ErrorProvider也可以阻止任何提交操作。

一个窍门是在试图离开时保留焦点在文本框中(例如使用TAB),以防某些情况(缺少数字):

private void textBox1_Leave(object sender, EventArgs e) { TextBox tb = (TextBox)sender; if (tb.Text == "3") tb.Focus(); } 

假设你正在使用一个标准的文本框。 在某些情况下,您也可以使用第三方控件来取消事件(e.Cancel = true)。

尝试使用Masked TextBox控件并为此类字段验证设置自定义属性。

或者,您也可以使用文本框的验证事件。

  private void textBox1_Validating( object sender, CancelEventArgs e ) { if ( textBox1.Text == "3" ) e.Cancel = true; } 

文本框不会松散焦点,直到它收到一个有效的输入。

我将向您展示如何验证Validating WinForms TextBox (在C#中)。

  1. 创建一个函数:

     public static void ChkBlankTextBoxes(object sender, string type) { if (sender is TextBox) { TextBox textbox = sender as TextBox; if (string.IsNullOrEmpty(textbox.Text)) { MessageBox.Show("Please enter correct value value.."); textbox.Focus(); } } } 
  2. 调用创建的函数:

     ChkBlankTextBoxes(txt_userID, textBoxtype); ChkBlankTextBoxes(txt_password, textBoxtype);