private void TreeView_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { var node = e.Node; var path = GetPath(node); if (e.Label == null) { return; } // don't rename the directory if we haven't changed the name if (e.Label == node.Name) { e.CancelEdit = true; return; } RenameDirectory?.Invoke(sender, new RenameDirectoryEventArgs(path, e.Label)); // let the presenter descide whether it will change the name or not e.CancelEdit = true; }