Класс ErrorProvider
кажется довольно простым - на самом деле, слишком базовым. Если у вас есть Red Gate Reflector , я бы порекомендовал разобрать класс и посмотреть на него. В противном случае создайте Dictionary<Control, String>
.
Вот краткая идея по созданию собственного провайдера:
Dictionary<Control, String> ErrorSet = new Dictionary<Control, String>();
public void SetError(Control control, String message)
{
// code for adding error information
ErrorSet.Add(control, message);
}
public String GetError(Control control)
{
// code for retrieving error information
return ErrorSet[control];
}
public String Clear()
{
// code for clearing all errors
}
У меня здесь нет отражателя R-G, или я бы предоставил больше примеров. Но это должно послужить примером для работы.