| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > использование переопределенных событий |
| Автор: 3she1on 11.11.2008, 22:02 | ||||||||
Всем доброго времени суток! Недавно начал освоение СиШарп и столкнулся с такой проблемой: Есть класс, допустим звать его SampleClass, унаследованный от System.Windows.Control. В этом классе перегружается обработчик события OnClick:
В другом классе, допустим TargetClass, создаю обьект типа SampleClass:
В конструкторе TargetClass пишу следующее:
далее:
Вот что-то вся эта конструкция не работает ((( заранее, благодарен за пом0щь! |
| Автор: diadiavova 11.11.2008, 22:21 | ||
OnClick - не обработчик события, а метод, в котором это событие инициируется в классе Control. Если ты переопределяешь этот метод - тебе надо вызвать метод базового класса, или инициировать в нём событие самому
|
| Автор: 3she1on 11.11.2008, 23:08 |
| спасибо за ответ. не могу осознать всю эту модель ((. курю маны |
| Автор: diadiavova 11.11.2008, 23:13 |
| Да собсно... ничего сверхъестественного. Просто для инициализации события используется соответствующий метод. Если метод переопределён, то базовый класс будет вместо собственной реализации метода вызывать переопределённую его версию. Для того, чтобы действия описанные в первоначальной версии метода тоже выполнялись, при переопределении надо вызывать переопределяемый метод базового класса. Вот и всё |
| Автор: 3she1on 11.11.2008, 23:32 | ||
| Эм... Хорошо. не нужны мне действия первоначальной версии. в переопределённом методе пишу свои действия (маленькое объяснение... Этот класс, по идее, должен представлять собой кликабельную иконку с прозрачным фоном для dotnetcf):
в другом классе создаю объект выше обозначенного класса. вызываю в опред. месте его метод "drawIcon". контрол норм рисуется, но не кликабелен |
| Автор: diadiavova 12.11.2008, 01:44 | ||
Зачем вообще переопределять метод, когда можно просто обработать событие
|
| Автор: 3she1on 12.11.2008, 02:58 |
| у меня вот другая трабла образовалась... в Вин приложении создаю из шаблона UserControl собственную загогулину, нормально добавляю функционал, обработку событий. Контол автоматом добавляется в ТулБокс. Я его кидаю на форму и все как часики швейцарские. Пишу для компактФреймворк - ЮзерКонтрол не появляется в ТулБоксе. |
| Автор: 3she1on 12.11.2008, 04:24 |
| Итоги. Покурил маны - отпустило ))). С событиями все в порядке - разобрался. С контролами - тоже. В принципе, вопрос закрыт. Создал контрол, который рисует нужную мне картинку с корректной прозрачностью и обрабатывает клик. Но осталась проблема с прозрачностью самого контрола, как контейнера для нарисованной картинки. Но это уже проблема в рамках Compact Framework. Спасибо за участие! |
| Автор: 3she1on 12.11.2008, 13:05 |
| Ругается на 4 аргумента |
| Автор: diadiavova 12.11.2008, 15:10 |
| Ну да - это чудеса компактфреймвока. Ничего не попишешь - здесь это просто не предусмотрено. |