![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| 3she1on |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 15.10.2008 Репутация: нет Всего: нет |
Всем доброго времени суток! Недавно начал освоение СиШарп и столкнулся с такой проблемой: Есть класс, допустим звать его SampleClass, унаследованный от System.Windows.Control. В этом классе перегружается обработчик события OnClick:
В другом классе, допустим TargetClass, создаю обьект типа SampleClass:
В конструкторе TargetClass пишу следующее:
далее:
Вот что-то вся эта конструкция не работает ((( заранее, благодарен за пом0щь! |
||||||||
|
|||||||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
OnClick - не обработчик события, а метод, в котором это событие инициируется в классе Control. Если ты переопределяешь этот метод - тебе надо вызвать метод базового класса, или инициировать в нём событие самому
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| 3she1on |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 15.10.2008 Репутация: нет Всего: нет |
спасибо за ответ. не могу осознать всю эту модель ((. курю маны
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Да собсно... ничего сверхъестественного. Просто для инициализации события используется соответствующий метод. Если метод переопределён, то базовый класс будет вместо собственной реализации метода вызывать переопределённую его версию. Для того, чтобы действия описанные в первоначальной версии метода тоже выполнялись, при переопределении надо вызывать переопределяемый метод базового класса. Вот и всё
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| 3she1on |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 15.10.2008 Репутация: нет Всего: нет |
Эм... Хорошо. не нужны мне действия первоначальной версии. в переопределённом методе пишу свои действия
(маленькое объяснение... Этот класс, по идее, должен представлять собой кликабельную иконку с прозрачным фоном для dotnetcf):
в другом классе создаю объект выше обозначенного класса. вызываю в опред. месте его метод "drawIcon". контрол норм рисуется, но не кликабелен |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Зачем вообще переопределять метод, когда можно просто обработать событие
Это сообщение отредактировал(а) diadiavova - 12.11.2008, 01:47 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| 3she1on |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 15.10.2008 Репутация: нет Всего: нет |
у меня вот другая трабла образовалась... в Вин приложении создаю из шаблона UserControl собственную загогулину, нормально добавляю функционал, обработку событий. Контол автоматом добавляется в ТулБокс. Я его кидаю на форму и все как часики швейцарские. Пишу для компактФреймворк - ЮзерКонтрол не появляется в ТулБоксе.
|
|||
|
||||
| 3she1on |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 15.10.2008 Репутация: нет Всего: нет |
Итоги. Покурил маны - отпустило ))). С событиями все в порядке - разобрался. С контролами - тоже. В принципе, вопрос закрыт. Создал контрол, который рисует нужную мне картинку с корректной прозрачностью и обрабатывает клик. Но осталась проблема с прозрачностью самого контрола, как контейнера для нарисованной картинки. Но это уже проблема в рамках Compact Framework. Спасибо за участие!
|
|||
|
||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Там просто надо задать ему BackColor с прозрачностью, только делать это надо в коде, а не в дизайнере
Имя функции FromARGB писал по памяти, так что если ошибся в регистре - сам исправь. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| 3she1on |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 15.10.2008 Репутация: нет Всего: нет |
Ругается на 4 аргумента
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Ну да - это чудеса компактфреймвока. Ничего не попишешь - здесь это просто не предусмотрено.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |