예제 #1
0
        private static void View_Rename(object sender, EventArgs e)
        {
            try
            {
                var view = (ListView)sender;
                var info = view.SelectedItem.state;
                file.Clean();
                Console.CursorTop     = Console.WindowHeight - 5;
                Console.CursorLeft    = 0;
                Console.CursorVisible = true;
                Console.WriteLine("Input new name of folder");
                string folderName = Console.ReadLine();
                if (info is FileInfo files)
                {
                    string newFileFullPath = Path.Combine(files.DirectoryName, folderName);
                    File.Move(files.FullName, newFileFullPath);
                }

                else if (info is DirectoryInfo dir)
                {
                    string newDirFullPath = Path.Combine(dir.Parent.FullName, folderName);
                    Directory.Move(dir.FullName, newDirFullPath);
                    view.Clean();
                    view.Items = GetItems(dir.Parent.FullName);
                }
            }
            catch (Exception)
            {
                file.Message("The file same name", "already excist");
            }
        }
 public void Update(ConsoleKeyInfo key)
 {
     previousSelectedIndex = selectedIndex;
     if (key.Key == ConsoleKey.UpArrow && selectedIndex > 0)
     {
         file.Clean();
         selectedIndex--;
     }
     if (key.Key == ConsoleKey.DownArrow && selectedIndex < Items.Count - 1)
     {
         file.Clean();
         selectedIndex++;
     }
     if (selectedIndex >= height + scroll)
     {
         scroll++;
         wasPainted = false;
     }
     else if (selectedIndex < scroll)
     {
         scroll--;
         wasPainted = false;
     }
     else if (key.Key == ConsoleKey.Enter)
     {
         Selected(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.Backspace)
     {
         Previous(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F1)
     {
         cut = false;
         Copy(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F2)
     {
         cut = true;
         Cut(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F3)
     {
         Paste(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F4)
     {
         Root(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F5)
     {
         ListOfDisk(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F6)
     {
         Properties(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F9)
     {
         Create(this, EventArgs.Empty);
     }
     else if (key.Key == ConsoleKey.F7)
     {
         Rename(this, EventArgs.Empty);
     }
 }