Стартовая страница › Форумы › Разработка и интеграция › Xml в TreeView со связью данных
- В этой теме 52 ответа, 4 участника, последнее обновление 1 год, 11 месяцев назад сделано
JurasskPark.
-
АвторЗаписи
-
07.10.2024 в 15:13 #34987
MikhailМодераторКак внутри дочерних форм подписаться на нажатие кнопки находящейся на главной форме?
Чтобы подписаться на событие какого-либо объекта, нужна ссылка на этот объект.
При этом если дочерняя форма будет удалена, то обработчик, который относится к кнопке на главной форме, не будет очищен автоматически, и произойдёт утечка памяти. Нужно вручную отписываться от событий при закрытии дочерней формы.
Например, в приложении Администратор каждая дочерняя форма имеет свой объект с событиями, которые инициируются главной формой.
07.10.2024 в 15:59 #35002
manjey73УчастникА можно пример в таком случае?
Тут видимо и получается, что нет отписки от события. Видимо будет более правильным не delegate сделать с кодом, как в последнем случае я сделал. А как делал первый раз, передача кнопки в форму и там подписка на событие.
Только как перед закрытием запустить из главной формы метод в дочерней форме, в котором отписаться от события и уже потом сделать Close() ?07.10.2024 в 16:01 #35003
manjey73Участникэээ, обработчик кнопки не на главной форме.
На главной форме типа такого FrmParameters frm = new FrmParameters(Кнопка);
А уже в форме FrmParameters есть событие на эту Кнопку.
Так делал первый раз, но без отписки перед закрытием. Эффект был аналогичным, сколько раз прошелся по дереву TreeView, столько раз и запустится обработчик, который в принципе с TreeView ну никак не связан.
-
Ответ изменён 1 год, 11 месяцев назад пользователем
manjey73.
07.10.2024 в 16:35 #35009
manjey73Участник@Mikhail спасибо, отписка помогла.
Сделал как было в начальном варианте с передачей в форму кнопки и там подписка, + публичный метод с отпиской, который запускаю перед закрытием..
Теперь все равно сколько раз брожу по веткам TreeView, событие срабатывает только на реально открытой форме один раз.
-
Ответ изменён 1 год, 11 месяцев назад пользователем
manjey73.
07.10.2024 в 20:59 #35025
JurasskParkУчастникOFFTOP. А какие на ферме ещё есть животные? Коровки?
07.10.2024 в 21:35 #35026
manjey73УчастникВсякие, Чебурашки например. Ещё есть Грибы, и ещё Рыба 😀
07.10.2024 в 23:16 #35027
manjey73Участник
Вообще про рыбу и грибы потом придумал. Фактически модуль может управлять любой фермой. Все будет зависеть от алгоритмов управления.
Цель сделать так, чтобы можно было обходиться без ПЛК. Или передавать изменения температурно-влажностного режима через ПЛК. То есть менять уставки по дням или часам.
08.10.2024 в 07:17 #35031
JurasskParkУчастник100 очков Гриффиндору за Чебурашку! 😂
-
Ответ изменён 1 год, 11 месяцев назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.
