AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.08.2024, 15:02   #1  
Lankey is offline
Lankey
Участник
 
127 / 28 (1) +++
Регистрация: 19.05.2020
Как получить класс-обработчик формы в eventHandler?
Написан кастомный eventHandler для onClicked кнопки формы
Объявление, соответственно
X++:
public static void SomeCustomBtn_OnClicked(FormControl sender FormControlEventArgs e)
Мне нужно мз этого eventHandler вызвать метод -член класса формы
Как его получить? Как-то через sender, наверное, но не нахожу примеров. Везде только sender.formRun()
Старый 07.08.2024, 15:35   #2  
Lankey is offline
Lankey
Участник
 
127 / 28 (1) +++
Регистрация: 19.05.2020
Вопрос снят. Через formRun.parmMyLocVar() все получилось
Старый 07.08.2024, 16:19   #3  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
305 / 873 (30) +++++++
Регистрация: 23.10.2012
Зачем нужны такие "макароны"? Есть обработчик событий - его развивайте, очевидно, что у него не хватает на момент конструирования передачи объекта, отсюда и потребность в форму возвращаться.
Старый 07.08.2024, 17:20   #4  
Lankey is offline
Lankey
Участник
 
127 / 28 (1) +++
Регистрация: 19.05.2020
Поясните, пожалуйста, что Вы имеете ввиду
Старый 07.08.2024, 18:13   #5  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
305 / 873 (30) +++++++
Регистрация: 23.10.2012
Причина по которой вынуждены возвращаться в formRun к объекту который как переменная в нем находится говорит о том, что в классе-обработчике событий отсутствует необходимый для работы его логики компонент. На момент конструирования класса, логично, этот компонент в обработчик и передать.
Иными словами - перекрыть конструктор по умолчанию, new CustomEventHandler(), добавив обязательный параметр. В этом случае инициализация будет иметь примерно такой вид: new CustomEventHandler(requiredToWorkObject).
На момент срабатывания события, при таком подходе, formRun не будет нужен.

Последний раз редактировалось Товарищ ♂uatr; 07.08.2024 в 18:17.
Старый 07.08.2024, 20:02   #6  
Lankey is offline
Lankey
Участник
 
127 / 28 (1) +++
Регистрация: 19.05.2020
В теории понятно, а на практике не очень. Может, мы о разных вещах говорим?
На форме есть кнопка. Right-click позволяет сгенерировать onClicked formControlEventHandler, где список параметров предопределен . Вроде, это стандартный подход, и при нем конструктор явно не вызывается.
У Вас есть пример ?

Последний раз редактировалось Lankey; 07.08.2024 в 20:06.
Старый 09.08.2024, 22:49   #7  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
305 / 873 (30) +++++++
Регистрация: 23.10.2012
У меня нет 365 под рукой. Мысль в инициализации подписчика и регистрации функции на конкретное событие из кода:
X++:
SomeEventHandler someEventHandler = new SomeEventHandler(formRun);
...
targetControl.onClicked += someEventHandler.onTargetControlClicked;

Последний раз редактировалось Товарищ ♂uatr; 09.08.2024 в 23:01.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как передать Args формы в класс service? Sysoperation Framework Skolos DAX: Программирование 8 30.03.2018 17:15
С Формы в Класс FridmanV DAX: Программирование 26 18.04.2012 16:46
Как получить параметры в класс из формы, созданной классом. BEPECK DAX: Программирование 9 07.02.2005 14:14
Передача datasource формы в класс Yprit DAX: Программирование 2 06.10.2004 14:00
Как получить доступ к текущей строке в DataSource формы Maxim Gorbunov DAX: База знаний и проекты 0 28.11.2001 13:46

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:56.