示例#1
0
        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("重命名成功!");
        }