我正在使用Windows 窗体TreeView
控件。
我连接它的方式如下(简化):
TreeView treeView = new TreeView();
treeView.BeforeSelect += beforeSelect;
private void beforeSelect(sender, args)
{
MessageBox.Show("Some msg");
// more code
}
在某些情况下,对MessageBox.Show的调用会触发BeforeSelect事件的另一个引发,该事件会触发另一个,另一个,...
似乎在树视图中每个项目都会引发此事件(我已经计算过它被引发的次数)。
我已经在整个互联网上搜索了有关为什么会发生这种情况的更多信息。
我发现的一件事是 TreeView 在获得焦点时会自动选择第一个节点。然而,这并不能解释为什么事件被触发为树中树节点项目的数量。
任何帮助将不胜感激。我正在考虑为此提出一个 Microsoft Connect 错误,因为这似乎是一种非常奇怪的行为,与我认为控件的工作方式不一致。