这属于“你怎么 不 知道”
类别。是您的代码正在调用ErrorProvider.SetError(),您应该可以轻松跟踪仍在活动的错误数量。这是一个小帮手类,使用其SetError()方法更新ErrorProvider。其Count属性返回活动错误的数量:
private class ErrorTracker { private HashSet<Control> mErrors = new HashSet<Control>(); private ErrorProvider mProvider; public ErrorTracker(ErrorProvider provider) { mProvider = provider; } public void SetError(Control ctl, string text) { if (string.IsNullOrEmpty(text)) mErrors.Remove(ctl); else if (!mErrors.Contains(ctl)) mErrors.Add(ctl); mProvider.SetError(ctl, text); } public int Count { get { return mErrors.Count; } }}


