private void folderTreeview_AfterSelect(object sender, TreeViewEventArgs e) { // sometimes there are bad selects, resulting in null node selection if (folderTreeview.SelectedNode == null) { return; } // only fire off method call if the selected node changed if (_lastSelectedNode == folderTreeview.SelectedNode) { return; } // update _lastSelectedNode = folderTreeview.SelectedNode; // clean call Manager.ChangedSelectedFolderNode(folderTreeview.SelectedNode); }