在Form.Show()期间取消TreeView_AfterSelect()

时间:2011-02-06 22:52:25

标签: c# .net winforms treeview

是否有办法抑制treeview_AfterSelect()事件,因此在form.show()期间不会调用它。

我有一个MDI容器的应用程序。其中一个子窗口包含一个树木。用户在树视图上选择的内容确定显示哪些子窗口。由于自定义控件,我使用树视图窗体也是关闭和重新创建的窗口之一。我设法将事件处理程序静音并选择所需的节点,然后在构造函数中重新启用事件处理程序,但是稍后显示表单时会触发AfterSelect事件。在我的情况下,这是不受欢迎的行为。

提前致谢

1 个答案:

答案 0 :(得分:3)

最简单的方法是使用成员变量(例如“bool initialised”)。它默认为false。

在表单的Shown事件处理程序结束时,将其设置为true。

在AfterSelect中,忽略事件if(!initialised)