Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка событий UserControl, избежать дубляжа прикрутки обработчиков 
:(
    Опции темы
ДобренькийПапаша
Дата 31.5.2011, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 2
Всего: 7



Есть UserControl, представляющий собой экранную клавиатуру.
То есть, он содержит кучу кнопок.
Этот UserControl я использую в куче окон. И в каждом окне приходится прикручивать заново все обработчики событий ко всем кнопкам. Мне по клику надо вписывать в текстбокс значение нажатой кнопки, но как я это могу сделать не имея обработчика (в случае если обработчики я прикручу в самом UserControl)? Приходится везде прикручивать по новой. partial methods не помогают - нужно делать partial classes - а я 
не могу тут так.


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
-Mikle-
Дата 1.6.2011, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



1) Можно в UserControl определить свое событие со своей сигнатурой. Обработчик кнопок находится в UserControl, там делаешь что нужно и дергаешь свое событие. В остальном коде подвешиваешься только на свое событие UserControl.
2) Можешь сделать свой контрол самонастраивамым. Например, вызывать из конструктора окна некий метод в нем, в который передавать ссылку на окно, которое содержит этот контрол. В этом методе можешь сделать что тебе нужно.
3) Есть класс System.Windows.Forms.SendKeys (ну что поделать, если в WPF нету). Он служит для отправки строковой последовательности окну в фокусе. Если твой контрол не берет на себя фокус при клике (или умеет возвращать его предыдущему окну), то работать будет. В этом случае контрол вообще не надо привязывать и нужно(!) его разместить в отдельном не модальном TopMost окне, которое отображать один раз при старте проги.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.