2 / 2 / 6
Регистрация: 23.05.2012
Сообщений: 267
1

Как получить ссылку на элемент и его тип по нажатию кнопки мышки?

19.08.2013, 10:14. Показов 1743. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как получить ссылку на элемента по нажатию кнопки мышки.
На форме есть панель на панели есть куча элементов при нажатии на элемент необходим получить ссылку на элемент и тип элемента, элементы создаются динамически.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.08.2013, 10:14
Ответы с готовыми решениями:

Как изменить ссылку по нажатию кнопки?
Кто подскажет, как тут, по нажатию кнопки менять ссылки? URL feedUrl = null; try { ...

JTextField: ввести число и по нажатию кнопки получить его квадрат
Ребят, приведите, пжл, самый элементарный пример по работе с текстфилдом, например вводим в него...

По нажатию кнопки в скомпилированной программе получить отчет с БД и в дальнейшем его распечатать
Всем привет! Разрабатываю программу для работы с БД DERBY на Java в среде IntellIJ IDEA 12. Есть...

Переход к нажатию кнопки без мышки
Дано: окошко для ввода пользователем текста и кнопка. Нужно: после того, как пользователь ввел...

11
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
19.08.2013, 11:02 2
А почему бы не пойти традиционным путём и использовать события контролов?
0
2 / 2 / 6
Регистрация: 23.05.2012
Сообщений: 267
19.08.2013, 12:02  [ТС] 3
Контролы создаются динамически, их количество и тип я не знаю, знаю что верхний контрл панель или форма
0
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
19.08.2013, 12:27 4
Цитата Сообщение от skemuze Посмотреть сообщение
Контролы создаются динамически
Это ничего не меняет, у динамически создаваемых контролов тоже есть события, которым можно присвоить обработчики.

Цитата Сообщение от skemuze Посмотреть сообщение
знаю что верхний контрл панель или форма
Это разруливается маршрутизируемыми событиями (routed events), но сначала вам надо понять события просто.
0
2 / 2 / 6
Регистрация: 23.05.2012
Сообщений: 267
19.08.2013, 12:53  [ТС] 5
не подходит я не знаю имя элемента
0
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
19.08.2013, 13:10 6
Цитата Сообщение от skemuze Посмотреть сообщение
не подходит я не знаю имя элемента
Имя не нужно, подойдёт ссылка в любом виде.
Например, сразу после создания.
0
2 / 2 / 6
Регистрация: 23.05.2012
Сообщений: 267
19.08.2013, 13:13  [ТС] 7
пример можно
0
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
19.08.2013, 13:29 8
Можно.
Для кнопки:
C#
1
2
var MyButton = Button(...); // создаём кнопку, располагаем где надо
MyButon.Click += MyOnButtonClick;
где
C#
1
2
3
4
void MyOnButtonClick(Object sender, EventArgs e)
{
  // обработка нажатия
}
Тут я имел в виду, что обработка в этом же классе, но это, вообще говоря, необязательно. А можно вообще лямбда-функцию поставить, будет прикольно.

Добавлено через 10 минут
ну, слово new там забыл при создании.
0
2 / 2 / 6
Регистрация: 23.05.2012
Сообщений: 267
19.08.2013, 13:36  [ТС] 9
вы наверно не заметили в первом сообщении что мне нужен uid и тип элемента, и эти динамические элементы я не создаю, следовательно не могу назначить им вызываемую функцию
0
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
19.08.2013, 13:48 10
Цитата Сообщение от skemuze Посмотреть сообщение
и эти динамические элементы я не создаю, следовательно не могу назначить им вызываемую функцию
Про это разговора не было, но всё равно это не меняет дело. Вам достаточно ссылки, полученной любым образом.

Цитата Сообщение от skemuze Посмотреть сообщение
вы наверно не заметили в первом сообщении что мне нужен uid и тип элемента
Не знаю, что такое UID в данном случае, но для присваивания обработчика он вам не нужен.
По поводу типа.
Приводите контрол к самому общему типу, который вас устроит.
Например, UIElement - там уж обрабатывайте MouseDown или что есть.
Если нужен какой-то специфичный тип - проверяйте.
0
2 / 2 / 6
Регистрация: 23.05.2012
Сообщений: 267
19.08.2013, 13:53  [ТС] 11
uid мне нужен чтобы получить сылку на обьект узнать его тип узнать какие свойства он содержит в себе, и взависимости от этого предпринимать какие нибудь действия, при создании элементов имен у них нет а uid генерируется автоматом, если я не чего не перепутал
0
Эксперт Python
4630 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,131
Записей в блоге: 6
19.08.2013, 14:02 12
Цитата Сообщение от skemuze Посмотреть сообщение
uid мне нужен чтобы получить сылку на обьект узнать его тип узнать какие свойства он содержит в себе, и взависимости от этого предпринимать какие нибудь действия, при создании элементов имен у них нет а uid генерируется автоматом, если я не чего не перепутал
Насколько я знаю, uid сам по себе не генерится, его надо явно присваивать.
Нужен ли вам uid для получения ссылки на объект - это уже специфика вашего приложения, тут я не помошник. Правда, такое маловероятно. Обычно, если какая-то фабрика создаёт что-то - должна сразу ссылку давать.

Чтобы узнать, какие свойства объект содержит в себе можно воспользоваться рефлексией (Reflection), правда, для присваивания обработчика это не нужно.
0
19.08.2013, 14:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2013, 14:02
Помогаю со студенческими работами здесь

По нажатию правой кнопки мышки вывести сообщение
В онлайн справке издевательство. В книгах издевательство. В примерах с инета непашет. Очистка...

Как добавить элемент в список ul по нажатию кнопки
Собственно, мой вопрос отражен в теме. Как добавить элемент в список ul по нажатию кнопки? Я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru