Каков стандартный подход для обработки событий в случае визуального наследования?

Мы знаем, что когда форма визуально наследуется, все ее элементы управления блокируются во время разработки. Эта проблема требует, чтобы мы поместили обработчики событий в базовую форму. Что мне теперь делать, если я хочу поместить обработчики событий базового управления в производную форму?

Поскольку элементы управления заблокированы, двойной щелчок на элементе управления для добавления обработчика событий не должен работать.

Каков стандартный отраслевой подход к обработке событий в случае визуального наследования?

3 ответа

Решение

Дизайнер чтит модификаторы доступа для членов базового класса. Вы должны изменить свойство Modifiers элемента управления базовой формы с Private на Protected. Перекомпилируйте. Теперь унаследованная форма имеет доступ к элементу управления, у вас не будет проблем с переопределением свойств и назначением обработчика событий из конструктора.

Вы обрабатываете событие в базовой форме и используете его для вызова виртуального метода. Производная форма переопределяет этот метод.

Другой метод - добавить событие в пользовательский элемент управления (вместо виртуального метода), а затем запустить его при возникновении внутреннего события.

Другие вопросы по тегам