如何延迟事件处理程序首先运行一小段代码?

时间:2012-07-19 16:25:48

标签: .net vb.net winforms event-handling

我很好奇是否有办法拦截控制事件处理程序足够长的时间来运行一小段代码,然后继续执行该处理程序。

例如,假设我的表单上有一个TreeView,当我点击展开一个节点时,我希望在它实际扩展之前为该节点运行一些代码,也许某种按需加载的子节点或类似的东西。

现在我可以在树视图NodeMouseClick事件中单击时运行代码,但我希望节点在代码完成之后不会展开。

思想?

1 个答案:

答案 0 :(得分:3)

TreeView.BeforeExpand让你这样做。

此外,事件处理程序是阻塞的 - 只有一个事件处理程序将同时运行,它们也会阻止GUI(如果您没有明确采取任何操作来阻止它)。