Mega Code Archive

 
Categories / C# / GUI Windows Form
 

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.");             }         }          } }