|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.01.2012, 22:59 | #1 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 25
|
Отлов клика мыши по panel
Есть panel( wrappanel) c добавленными программно на нее кнопками. Каким образом можно отловить клик мышью по кнопке, то есть определить , по какой именно кнопке из wrappanel произошел клик? Проект на wpf
|
20.01.2012, 23:39 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
1 вариант: повесить на каждую кнопку обработчик Click(). Либо свой для каждой, либо в обработчике проверять объект sender.
XAML: Код:
Код:
XAML: Код:
Код:
P.P.S. для созданных программно кнопок: Код:
Код:
Благодарить в репутацию. Проклинать — туда же
Последний раз редактировалось Luuzuk; 20.01.2012 в 23:47. |
20.01.2012, 23:48 | #3 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 25
|
Кнопки добавляются программно, их количество задается отдельно, поэтому я не могу задать обработчик для конкретно заданной кнопки.
|
20.01.2012, 23:49 | #4 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Я отредактировал свой предыдщий пост, слово "программно" упустил
Если выберете вариант 1, то кнопкам придется для идентификации задать Tag или Name например (потом смотреть на нужное свойство sender'a). Когда кнопки перестанут быть нужными, то отписать каждую от "Button_Click" (someButton.Click -= Button_Click), иначе возможна утечка памяти
Благодарить в репутацию. Проклинать — туда же
Последний раз редактировалось Luuzuk; 20.01.2012 в 23:51. |
21.01.2012, 23:08 | #5 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 25
|
Решилось следующим способом:
событие PreviewMouseLeftButtonDown , кнопка определяется, как e.Source; |
21.01.2012, 23:12 | #6 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Ну если учитывать варианты типа "выделили какую-то кнопку клавишей TAB и нажали пробел" в вашу задачу не входит, то можно и так. Но решение не особо надёжное
Благодарить в репутацию. Проклинать — туда же
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отлов сигналов от мыши и клавы | Ramirag | Win Api | 0 | 02.11.2011 19:41 |
Имитация клика мыши | Anfall | Общие вопросы Delphi | 20 | 05.10.2010 09:15 |
Отлов клика по компоненту WebBrowser | Alex Cones | Общие вопросы Delphi | 3 | 31.05.2010 08:42 |
Эмуляция клика мыши | Stimer | Win Api | 1 | 05.02.2009 04:06 |
Отлов кликов мыши | LAFUDR | Помощь студентам | 9 | 24.05.2008 01:32 |