Есть несколько подходов, которые вы можете использовать здесь, лично я бы заменил обработчик событий по умолчанию для события TextChanged через наследование.
Код назначает один через во время установки, и, к сожалению, текстовое поле является закрытым членом
textBox.TextChanged += new EventHandler(OnSelectedDateChanged);
, который объявлен как
protected virtual void OnSelectedDateChanged(object sender, EventArgs e)
Так что мы можем наследовать SlimeeLibrary.DatePicker
public class EnhancedDatePicker : SlimeeLibrary.DatePicker
, а затем переопределить EventHandler, вызывая новое событие ошибки синтаксического анализа.
открытое событие EventHandler OnDateParseError;
protected override void OnSelectedDateChanged(object sender, EventArgs e)
{
try
{
base.OnSelectedDateChanged(sender, e);
}
catch (FormatException fe)
{
OnDateParseError(sender, e);
}
}
Надеюсь, это поможет.Я не проверял его, но изучил код для контроля над слизью, но не хочу настраивать учетную запись проекта кода, чтобы загрузить его извините.Очевидно, вам потребуется изменить ссылки на пользовательский контроль ASP.NET, чтобы использовать новый класс.