Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,161
1

Как на время запретить обработку событий от элемента формы

16.02.2012, 18:38. Показов 4213. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые gurus!
На форме дерево с checkboxs. Задача: при изменении состояния checkbox узла - программно установить в это же состояние checkbox всех нижележащих узлов.
В обработчике события treeView1_AfterCheck - рекурсивно изменяю состояния checkbox всех нижележащих узлов ветви. Но на это время нужно приостановить обработку этого события - иначе событие будет срабатывать при изменении состояния каждого узла.
Как при входе в обработчик treeView1_AfterCheck запретить вхождение в него до завершения обработки?
Спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2012, 18:38
Ответы с готовыми решениями:

Как на время отключить обработку событий кнопок?
На форме есть две кнопки Btn1 и Btn2. При клике по Btn1 производятся достаточно длительные расчеты....

ToolTip тормозит обработку событий формы
В общем при событии MouseMove над определенным контроллом вывожу ToolTip ...

Запретить вызов событий наклацанных во время выполнения первого
Здравствуйте. На форме есть кнопки, по нажатию на которые выполняется код, и если нажать во время...

Найти вероятности следующих событий: за время Т откажет хотя бы один элемент; за время Т откажут ровно 3 элемента
Система связи состоит из 1000 элементов, каждый из которых независимо от остальных выходит из строя...

2
4 / 4 / 1
Регистрация: 15.09.2010
Сообщений: 12
17.02.2012, 15:33 2
Лучший ответ Сообщение было отмечено АТерентьев как решение

Решение

Отпишись от события -= потом подпишись заново += :
на примере AfterSelect
C#
1
2
3
4
5
6
 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            this.treeView1.AfterSelect -= this.treeView1_AfterSelect;
            //какой то код
            this.treeView1.AfterSelect += this.treeView1_AfterSelect;
        }
3
5 / 4 / 1
Регистрация: 24.09.2016
Сообщений: 406
08.03.2020, 23:38 3
RainS,написал аналог кода на пост №2:
C#
1
2
3
4
5
6
 private void Form1_KeyDown(object sender, KeyEventArgs e)
      {
         if(true)
         {
            this.Form1_KeyDown -= this.Form1_KeyDown;
         }
выдает ошибку: невозможно присвоить Form1_KeyDown значение, так как он является "группа методов"
0
08.03.2020, 23:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2020, 23:38
Помогаю со студенческими работами здесь

Как запретить обновление элемента формы WEBBrowser Control при переходе к следующей записи?
Имеется форма с WebBrowser Control. Данные в webBrowserControl грузятся по выбору из ComboBox....

Как сделать обработку событий в консоли?
Как сделать, чтобы при нажатии на клавиатуру, в консоли выводилось уведомление ?Можете еще скинуть...

Как сделать обработку событий при клике на ячейку таблицы
Есть таблица, в ячейках некий текст. Как сделать ячейки таблицы кликабельными? И как проверять...

Запустить обработку событий как только пользователь нажал Enter
На форме есть много контролов, как отловить тот момент когда пользователь нажал Enter в любом из...

VBA Word: как запретить запись событий в стек отмены (Ctrl+Z) ?
Имеется макрос, выполняющий последовательно несколько сот операций. И чтобы отменить его действие,...

Как рассчитать время затраченное на обработку заявки
Доброго дня. Подскажите как рассчитать время затраченное на обработку заявки. Исходные данные...


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

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