На событие цепляется только форма — родитель и делается метод по паттерну "ШАБЛОННЫЙ МЕТОД"
для примера базовый класс:
on_ok_pressd(object sender,EventArgs e)
{
DoOkProcess();
}
protected void DoOkProcess()
{
doBeforeValidation();
bool valid = GetIsValid();
doAfterValidation();
if(valid)doOnValid();
else doOnNotValid();
}
protected virtual void doBeforeValidation(){}
protected virtual void doAfterValidation(){}
protected virtual bool GetIsValid(){return true;}
protected virtual void doOnValid(){}
protected virtual void doOnNotValid(){}
,
все в наследниках перекрываете нужные методы и никаких флагов или "прерывания цепочки событий"
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение