ErrorProvider的使用心得
我们做软件交互界面时经常会对输入进行验证,ErrorProvider是验证winform界面输入的控件,主要步骤是:
(一)添加ErrorProvider组件
给Form窗口添加一个ErrorProvider组件,设置属性:ContainerControl,设置需验证的窗口Form。
(二)需验证的控件绑定
点击Databindings->Advanced,
设置数据源更新模式:OnpropertyChanged和Onvalidation,其中OnpropertyChanged为绑定类属性,通过给属性赋值来验证,如下:
public int TrainCountOfAnHour { get { return _trainCountOfAnHour; } set { if (value > 0 && value <= 30) { _trainCountOfAnHour = value; TrainIntervals = (int)(60.0 * 60 / _trainCountOfAnHour); if (!IsSmallRun) { ScanTime = TrainIntervals * _scanTimeOfMult; } else { ScanTime = MinConmonMultiple(TrainIntervals, TrainIntervals1) * _scanTimeOfMult; } } else { throw new ArgumentOutOfRangeException("列车对数(对/小时)不能超出范围(1-30)"); } } }
如果控件输入值不在0~30范围内,验证控件通不过。
Onvalidation添加控件的Validated事件
private void tb_length_Validated(object sender, EventArgs e) { double l; if (double.TryParse(tb_Length.Text, out l)) { if (l > 0) { errorProvider1.SetError(tb_Length, ""); } else { errorProvider1.SetError(tb_Length, "必须是大于0数"); tb_Length.Focus(); } } else { errorProvider1.SetError(tb_Length, "不是数字"); tb_Length.Focus(); } }