Каков стандартный подход для обработки событий в случае визуального наследства?
-
10-10-2019 - |
Вопрос
Мы знаем, что когда форма визуально унаследована, все ее элементы управления заблокированы во время дизайна. Эта проблема требует, чтобы мы разместили обработчики событий в базовую форму. Что я должен сделать, если я хочу разместить обработчики событий базового контроля в производную форму?
Поскольку элементы управления заблокированы, подход к двойному щелчке управления, чтобы добавить управление, не должен работать.
Каков стандартный подход к обработке событий в случае визуального наследства?
Решение
Дизайнер чтит модификаторы доступа к членам базового класса. Вы должны изменить свойство модификаторов контроля базовой формы с частной на защиту. Перекомпилировать. Теперь унаследованная форма имеет доступ к управлению, у вас не будет проблем с переосмыслением свойств и назначения обработчика событий от дизайнера.
Другие советы
Вы обрабатываете событие в базовой форме и используете его для вызова виртуального метода. Полученная форма переопределяет этот метод.
Другой метод состоит в том, чтобы добавить событие в пользовательском управлении (вместо виртуального метода), а затем запустить его при запуске внутреннего события.