private void RemoteTree_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) { string oldName = e.Node.Text; string newName = e.Label; string newPath = e.Node.Parent.Name + newName; string oldPath = e.Node.Parent.Name + oldName; AddLog($"正准备将{oldPath}重命名为{newPath}..."); try { AddLog($"切换目录至{RemoteNode.Parent.Name}..."); myFTP.ChangeDir(RemoteNode.Parent.Name); AddLog($"正在请求重命名操作..."); myFTP.RenameDir(oldName, newName); RemoteNode.Text = newName; if (IsDirectory(RemoteNode)) { myFTP.ChangeDir(newPath); AddLog($"切换目录至{newPath}..."); } } catch (Exception ex) { e.CancelEdit = true; RemoteTree.SelectedNode = null; AddLog(ex.Message); return; } AddLog("重命名成功!"); }