private void GameDataTreeView_AfterLabelEdit(object sender, System.Windows.Forms.NodeLabelEditEventArgs e) { try { // Make sure an edit actually occured if (e.Label != null) { guiAssetTreeTag tag = (guiAssetTreeTag)e.Node.Tag; string sourceDirectoryName = tag.FullFilename; string targetDirectoryName = tag.FullFilename.Replace(e.Node.Text, e.Label); e.Node.Tag = new guiAssetTreeTag(targetDirectoryName, e.Node, false); if (!DosUtils.DirectoryMove(sourceDirectoryName, targetDirectoryName)) { MOG.PROMPT.MOG_Prompt.PromptResponse("Rename Directory", DosUtils.GetLastError(), MOGPromptButtons.OK); e.Node.Remove(); e.CancelEdit = true; } // Fire off our AfterSelect, so that it updates everything propertly e.Node.Text = e.Label; this.GameDataTreeView_AfterSelect(this.GameDataTreeView, new TreeViewEventArgs(e.Node, TreeViewAction.Unknown)); } GameDataTreeView.LabelEdit = false; } catch (Exception ex) { MOG.PROMPT.MOG_Prompt.PromptResponse("Rename Directory", ex.Message, MOGPromptButtons.OK); e.CancelEdit = true; e.Node.Remove(); GameDataTreeView.LabelEdit = false; } }