Подавить TreeView_AfterSelect () во время Form.Show () - PullRequest
1 голос
/ 07 февраля 2011

Есть ли способ подавить событие treeview_AfterSelect (), чтобы оно не вызывалось во время form.show ().

У меня есть приложение, которое является MDI-контейнером. В одном из дочерних окон есть древовидная структура. То, что пользователь выбирает в древовидной структуре, определяет, какие дочерние окна отображаются. Из-за пользовательского элемента управления я использую форму дерева просмотра также является одним из окон, которые закрыты и воссозданы. Мне удалось отключить обработчик событий и выбрать нужный узел, а затем снова включить обработчик событий в конструкторе, но когда форма показывается позже, вызывается событие AfterSelect. Что является нежелательным поведением в моей ситуации.

Заранее спасибо

1 Ответ

3 голосов
/ 07 февраля 2011

Самый простой подход - использовать переменную-член (например, "bool initialized"). По умолчанию будет установлено значение false.

В конце обработчика событий Shown вашей формы установите его значение true.

В вашем AfterSelect игнорируйте событие, если (! Initialized)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...