static void Main(string[] args) { Console.CursorVisible = false; var manager = new FileTree(); ShowList(manager.Items, manager.Selected); while (true) { var inputKey = Console.ReadKey(false); switch (inputKey.Key) { case ConsoleKey.UpArrow: manager.Previous(); break; case ConsoleKey.DownArrow: manager.Next(); break; case ConsoleKey.Enter: manager.SelectOpen(); break; case ConsoleKey.F2: if (DeleteRequest(manager.Selected)) { manager.Delete(); } break; case ConsoleKey.F3: manager.StartProcess(); break; case ConsoleKey.F1: manager.Copy(); break; } ShowList(manager.Items, manager.Selected); } }
public void Manager(string Path, int padgeNumber) { string jsonPath = JsonSerializer.Serialize(Path); File.WriteAllText("Path.json", jsonPath); Console.Clear(); Console.CursorVisible = false; Lines Line = new Lines(); //Отрисовываем рамку Line.drawLines(); FileTree Tree = new FileTree(); //Формируем дерево директорий и объектов Tree.Tree(Path, padgeNumber); Info WriteInfo = new Info(); //Формируем информацию о текущем диске WriteInfo.writeInfo(Path); Commands drawCommand = new Commands(); //Отображаем список доступных команд drawCommand.drawCommands(); Copy copy = new Copy(); Create newDir = new Create(); Delete del = new Delete(); Console.SetCursorPosition(1, 27); string newPath; string input = Console.ReadLine(); //Запрос на ввод команды switch (input) { case "1": //Переход в директорию Console.Write("|Введите адрес директории:"); newPath = Console.ReadLine(); Manager(newPath, padgeNumber); break; case "2": //Копирование директории copy.CopyDir(); Manager(Path, padgeNumber); break; case "3": //Копирование файла copy.CopyFile(); Manager(Path, padgeNumber); break; case "4": //Создание новой директории Console.Write("|Введите название директории:"); newPath = Console.ReadLine(); newDir.NewDir(newPath); Manager(newPath, padgeNumber); break; case "5": //Удаление директории del.deleteDir(); Manager(Path, padgeNumber); break; case "6": //Удаление файла del.deleteFile(); Manager(Path, padgeNumber); break; case "n": //Следущая станица списка padgeNumber++; Manager(Path, padgeNumber); break; case "p": //Предыдущая станица списка padgeNumber--; Manager(Path, padgeNumber); break; case "0": //Выход Environment.Exit(0); break; } }