暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C# 使用 ErrorProvider 控件验证文本框输入

DotNet工控上位机编程 2021-10-30
972

      

     

       ErrorProvider 控件可以在不打扰用户的情况下向用户显示有错误发生。当验证用户在窗体中的输入或显示数据集内的错误时,一般要用到该控件。如图1 所示为ErrorProvider控件。

图1 ErrorProvider控件

       ErrorProvider 控件通过SetError 方法设置指定控件的错误描述字符串。
       语法如下:
    public void SetError(Control control,string value)
          control:要为其设置错误描述字符串的控件。
          value:错误描述字符串。
       判断文本框中输入的数据是否准确,需要在控件的Validating 事件中进行判断,然后设置 ErrorProvider控件的错误描述字符串,当控件正在验证时会引发该事件。
       说明
        如果将 BlinkRate 属性设置为零,BlinkStyle 属性将自动被设置为 NeverBlink。
     【例1】创建一个 Windows 应用程序,在窗体中添加3个 TextBox 控件,在每个控件的 Validting 事件中判新是否输入了数据。如果输入的数据为空,则调用 ErrorProvider 控件的 SetError 方法设置错误描述字符串。当输入订货数量的文本框中没有输入数字时,会显示错误字符串“请输入一个数”并在该文本框的后面显示错误图标。如果输入数字,则错误图标消失。
       代码如下:

   

private int a,b,c;
private void textBox1_Validating(object sender,System.ComponentModel.CancelEventArgs e)
{
     if(textBox1.Text =="")                              //判断是否输入商品名称 
     {
           errorProvider1.SetError(textBox1,"不能为空"); //如果没有输入则激活 errorProvider1 控件
}
     else                                                //否则 
     {
         errorProvider1.SetError(textBox1."");           //errorProvider1 控件不显示消息 
         a = 1;  //将 a 赋值为 1 
}
 }
pivate void textBox2_Validating(object sender,System.ComponentModel.CancelEventArgs e)
{
    if(textBox2.Text =="")                             //判断是否输入订货数量 
    {
         errorProvider2.SetError(textBox2,"不能为空") //设置 errorProvider2 的错误提示
    }
    else                                             //否则
    {
     try
     {
            int x = int32.Parse(textBox2.Test);      //判断是否输入数字,如果不是数字会出现异常 
            errorProvider2.SetError(textBox2,"");    //errorProvider2控件不显示任何错误信息
            b = 1;                                   //将b赋值为 1
        }   
catch
        {
            //如果出现异常,设置 errorProvider2控件的错误信息 
            errorProvider2.SetError(textBox2,"请输入一个数");
        }
}
}
private void textBox3_Validating(object sender,System.ComponentModel.CancelEventArgs e) 
{
     if(textBox3.Text =="") //判断是否输入订货数量
{
           errorProvider3.SetError(textBox3,"不能为空"); //设置 errorProvider3 显示的错误消息
     }
     else                                              //否则
     {
           errorProvider3.SetError(textBox3,"");      // errorProvider3 控件不显示任何消息
           c = 1; //将 c 赋值为 1
     }
}
private void button2_Click(object sender,EventArgs e)
{
    //清空所有文本框
     textBox1.Text ="";
     textBox2.Text ="";
     textBox3.Text ="";
}
private void button1_Click(object sender,EventArgs e)
{
     if(a + b + c == 3//判断 a、b 和 c的和是否等于3 
     {
          MessageBox.Show("数据录入成功","提示",
          MessageBoxButtons.OK,MessageBoxIcon.Warning);//弹出提示
     }
}


程序的运行结果如图1 和图2 所示。


图1    在订货数量文本框中输入字符

图2    输入正确的数据



END -







关注小编不迷路呦~


文章转载自DotNet工控上位机编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论