验证的WinForms文本框(在C#)(Validating WinForms TextBox (i

2019-06-24 05:26发布

在TextBox_Leave事件中,我需要检查在文本框中输入数字是否在序列号或not.If它不是为了然后我需要显示一个消息作为“数字”丢失

例如 :

在文本框中我已进入图3和点击选项卡:我需要显示消息“号是不是为了,数字‘1’和‘2’缺失”

Answer 1:

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

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

结合使用验证的事件与使用ErrorProvider控件(你可以从工具箱拖曳到窗体)来设置一个错误消息:它会被显示为红色三角形一个(闪烁)感叹号。

一个ErrorProvider控件也可以阻止任何提交 - 行动。



Answer 2:

一个技巧就是试图离开(与TAB例如)在一定条件下(缺号)的情况下,当保留焦点在文本框中:

 private void textBox1_Leave(object sender, EventArgs e)
    {
        TextBox tb = (TextBox)sender;

        if (tb.Text == "3")
            tb.Focus();
    }

假设你使用的是标准文本框。 您也可以在一定条件下使用,你可以取消事件的第三方控件(e.Cancel = TRUE)。



Answer 3:

尝试使用屏蔽TextBox控件和设置自定义属性此类型的字段验证。



Answer 4:

另外,您还可以使用文本框的验证事件。

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

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



Answer 5:

我会告诉你如何验证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); 


文章来源: Validating WinForms TextBox (in C#)