private void AddControlValidate(Control control, ValidateOn validateOn) { this.ControlValidateMap.Add(control, validateOn); control.Disposed += new EventHandler(this.Control_Validate_Disposed); control.EnabledChanged += new EventHandler(this.Control_Validate_EnabledChanged); control.Validating += new CancelEventHandler(this.Control_Validate_Validating); control.Validated += new EventHandler(this.Control_Validate_Validated); switch (validateOn) { case ValidateOn.TextChanged: control.TextChanged += new EventHandler(this.Control_Validate_TextChanged); break; case ValidateOn.TextChangedTimer: control.TextChanged += new EventHandler(this.Control_ValidateTimer_TextChanged); break; case ValidateOn.FocusTimer: control.Enter += new EventHandler(this.Control_ValidateTimer_Enter); control.Leave += new EventHandler(this.Control_ValidateTimer_Leave); break; case ValidateOn.ApplicationIdle: control.Enter += new EventHandler(this.Control_ValidateIdle_Enter); control.Leave += new EventHandler(this.Control_ValidateIdle_Leave); break; } }
public void SetValidateOn(Control control, ValidateOn validateOn) { ValidateOn on; if (control == null) { throw new ArgumentNullException(); } if (!this.ControlValidateMap.TryGetValue(control, out on) || (on != validateOn)) { this.RemoveControlValidate(control); switch (validateOn) { case ValidateOn.Default: return; case ValidateOn.TextChanged: case ValidateOn.TextChangedTimer: case ValidateOn.FocusTimer: case ValidateOn.ApplicationIdle: case ValidateOn.Validate: this.AddControlValidate(control, validateOn); return; } throw new InvalidEnumArgumentException(); } }