SSISO Community

갤러리정

Error Provider Validation

/*
User  Interfaces  in  C#:  Windows  Forms  and  Custom  Controls
by  Matthew  MacDonald

Publisher:  Apress
ISBN:  1590590457
*/
using  System;
using  System.Drawing;
using  System.Collections;
using  System.ComponentModel;
using  System.Windows.Forms;

namespace  Validation
{
        ///  <summary>
        ///  Summary  description  for  ErrorProviderValidation.
        ///  </summary>
        public  class  ErrorProviderValidation  :  System.Windows.Forms.Form
        {
                internal  System.Windows.Forms.Label  Label3;
                internal  System.Windows.Forms.TextBox  txtEmail;
                internal  System.Windows.Forms.Label  Label2;
                internal  System.Windows.Forms.Label  Label1;
                internal  System.Windows.Forms.TextBox  txtFirstName;
                internal  System.Windows.Forms.TextBox  txtLastName;
                internal  System.Windows.Forms.Button  Button1;
                internal  System.Windows.Forms.ErrorProvider  errProvider;
                internal  System.Windows.Forms.GroupBox  grpValidation;
                ///  <summary>
                ///  Required  designer  variable.
                ///  </summary>
                private  System.ComponentModel.Container  components  =  null;

                public  ErrorProviderValidation()
                {
                        //
                        //  Required  for  Windows  Form  Designer  support
                        //
                        InitializeComponent();

                        //
                        //  TODO:  Add  any  constructor  code  after  InitializeComponent  call
                        //
                }

                ///  <summary>
                ///  Clean  up  any  resources  being  used.
                ///  </summary>
                protected  override  void  Dispose(  bool  disposing  )
                {
                        if(  disposing  )
                        {
                                if(components  !=  null)
                                {
                                        components.Dispose();
                                }
                        }
                        base.Dispose(  disposing  );
                }

                #region  Windows  Form  Designer  generated  code
                ///  <summary>
                ///  Required  method  for  Designer  support  -  do  not  modify
                ///  the  contents  of  this  method  with  the  code  editor.
                ///  </summary>
                private  void  InitializeComponent()
                {
                        this.grpValidation  =  new  System.Windows.Forms.GroupBox();
                        this.Label3  =  new  System.Windows.Forms.Label();
                        this.txtEmail  =  new  System.Windows.Forms.TextBox();
                        this.Label2  =  new  System.Windows.Forms.Label();
                        this.Label1  =  new  System.Windows.Forms.Label();
                        this.txtFirstName  =  new  System.Windows.Forms.TextBox();
                        this.txtLastName  =  new  System.Windows.Forms.TextBox();
                        this.Button1  =  new  System.Windows.Forms.Button();
                        this.errProvider  =  new  System.Windows.Forms.ErrorProvider();
                        this.grpValidation.SuspendLayout();
                        this.SuspendLayout();
                        //  
                        //  grpValidation
                        //  
                        this.grpValidation.Controls.AddRange(new  System.Windows.Forms.Control[]  {
                                                                                                                                                                                this.Label3,
                                                                                                                                                                                this.txtEmail,
                                                                                                                                                                                this.Label2,
                                                                                                                                                                                this.Label1,
                                                                                                                                                                                this.txtFirstName,
                                                                                                                                                                                this.txtLastName});
                        this.grpValidation.Location  =  new  System.Drawing.Point(8,  8);
                        this.grpValidation.Name  =  "grpValidation";
                        this.grpValidation.Size  =  new  System.Drawing.Size(368,  124);
                        this.grpValidation.TabIndex  =  13;
                        this.grpValidation.TabStop  =  false;
                        //  
                        //  Label3
                        //  
                        this.Label3.Location  =  new  System.Drawing.Point(16,  88);
                        this.Label3.Name  =  "Label3";
                        this.Label3.Size  =  new  System.Drawing.Size(64,  16);
                        this.Label3.TabIndex  =  10;
                        this.Label3.Text  =  "Email:";
                        //  
                        //  txtEmail
                        //  
                        this.txtEmail.Location  =  new  System.Drawing.Point(84,  84);
                        this.txtEmail.Name  =  "txtEmail";
                        this.txtEmail.Size  =  new  System.Drawing.Size(152,  21);
                        this.txtEmail.TabIndex  =  9;
                        this.txtEmail.Text  =  "";
                        this.txtEmail.KeyPress  +=  new  System.Windows.Forms.KeyPressEventHandler(this.txtEmail_KeyPress);
                        //  
                        //  Label2
                        //  
                        this.Label2.Location  =  new  System.Drawing.Point(16,  52);
                        this.Label2.Name  =  "Label2";
                        this.Label2.Size  =  new  System.Drawing.Size(64,  16);
                        this.Label2.TabIndex  =  8;
                        this.Label2.Text  =  "Last  Name:";
                        //  
                        //  Label1
                        //  
                        this.Label1.Location  =  new  System.Drawing.Point(16,  28);
                        this.Label1.Name  =  "Label1";
                        this.Label1.Size  =  new  System.Drawing.Size(64,  16);
                        this.Label1.TabIndex  =  7;
                        this.Label1.Text  =  "First  Name:";
                        //  
                        //  txtFirstName
                        //  
                        this.txtFirstName.Location  =  new  System.Drawing.Point(84,  24);
                        this.txtFirstName.Name  =  "txtFirstName";
                        this.txtFirstName.Size  =  new  System.Drawing.Size(152,  21);
                        this.txtFirstName.TabIndex  =  4;
                        this.txtFirstName.Text  =  "";
                        this.txtFirstName.Validating  +=  new  System.ComponentModel.CancelEventHandler(this.txtName_Validating);
                        //  
                        //  txtLastName
                        //  
                        this.txtLastName.Location  =  new  System.Drawing.Point(84,  48);
                        this.txtLastName.Name  =  "txtLastName";
                        this.txtLastName.Size  =  new  System.Drawing.Size(152,  21);
                        this.txtLastName.TabIndex  =  5;
                        this.txtLastName.Text  =  "";
                        this.txtLastName.Validating  +=  new  System.ComponentModel.CancelEventHandler(this.txtName_Validating);
                        //  
                        //  Button1
                        //  
                        this.Button1.Location  =  new  System.Drawing.Point(152,  204);
                        this.Button1.Name  =  "Button1";
                        this.Button1.Size  =  new  System.Drawing.Size(76,  24);
                        this.Button1.TabIndex  =  12;
                        this.Button1.Text  =  "OK";
                        this.Button1.Click  +=  new  System.EventHandler(this.Button1_Click);
                        //  
                        //  errProvider
                        //  
                        this.errProvider.DataMember  =  null;
                        //  
                        //  ErrorProviderValidation
                        //  
                        this.AutoScaleBaseSize  =  new  System.Drawing.Size(5,  14);
                        this.ClientSize  =  new  System.Drawing.Size(388,  242);
                        this.Controls.AddRange(new  System.Windows.Forms.Control[]  {
                                                                                                                                                    this.grpValidation,
                                                                                                                                                    this.Button1});
                        this.Font  =  new  System.Drawing.Font("Tahoma",  8.25F,  System.Drawing.FontStyle.Regular,  System.Drawing.GraphicsUnit.Point,  ((System.Byte)(0)));
                        this.Name  =  "ErrorProviderValidation";
                        this.Text  =  "ErrorProviderValidation";
                        this.grpValidation.ResumeLayout(false);
                        this.ResumeLayout(false);

                }
                #endregion

                [STAThread]
                static  void  Main()  
                {
                        Application.Run(new  ErrorProviderValidation());
                }

                private  void  Button1_Click(object  sender,  System.EventArgs  e)
                {
                        bool  invalidInput  =  false;
                        
                        foreach  (Control  ctrl  in  this.grpValidation.Controls)
                        {
                                if  (errProvider.GetError(ctrl)  !=  "")
                                {
                                        invalidInput  =  true;
                                        break;
                                }
                        }
                        
                        if  (invalidInput)
                        {
                                MessageBox.Show("You  still  have  invalid  input.",  "Invalid  Input",  MessageBoxButtons.OK,  MessageBoxIcon.Warning);
                        }
                        else
                        {
                                this.Close();
                        }
                
                }

                private  void  txtName_Validating(object  sender,  System.ComponentModel.CancelEventArgs  e)
                {
                        Control  ctrl  =  (Control)sender;
                        if  (ctrl.Text  ==  "")
                        {
                                errProvider.SetError(ctrl,  "You  must  enter  a  first  and  last  name.");
                        }
                        else
                        {
                                errProvider.SetError(ctrl,  "");
                        }
                }

                private  void  txtEmail_KeyPress(object  sender,  System.Windows.Forms.KeyPressEventArgs  e)
                {
                        System.Text.RegularExpressions.Regex  regex;
                        regex  =  new  System.Text.RegularExpressions.Regex(@"\S+@\S+\.\S+");

                        Control  ctrl  =  (Control)sender;
                        if  (regex.IsMatch(ctrl.Text))
                        {
                                errProvider.SetError(ctrl,  "");
                        }
                        else
                        {
                                errProvider.SetError(ctrl,  "Not  a  valid  email.");
                        }

                }
        
        }
}

500 view

4.0 stars