WindowsフォームTreeView
コントロールを使用しています。
私がそれを接続する方法は次のとおりです(簡略化):
TreeView treeView = new TreeView();
treeView.BeforeSelect += beforeSelect;
private void beforeSelect(sender, args)
{
MessageBox.Show("Some msg");
// more code
}
特定のシナリオでは、MessageBox.Showの呼び出しにより、BeforeSelectイベントの別の発生がトリガーされ、別のイベントがトリガーされます。
このイベントは、ツリービューでアイテムごとに発生しているようです(発生した回数をカウントしました)。
これが発生する理由については、インターネット全体で詳細を検索しました。
私が見つけた1つのことは、TreeViewがフォーカスを取得したときに最初のノードを自動的に選択することでした。ただし、これは、イベントがツリー内のツリーノードアイテムの数として発生する理由を説明していません。
これについて何か助けていただければ幸いです。これについては、Microsoft Connectのバグを発生させることを検討しています。これは、コントロールが機能するはずだと思う方法と一致しない非常に奇妙な動作のように見えるためです。