/// <summary> /// Выводит список существующих файлов /// </summary> public void Write_FileList(bool del = false) { BinFile file = new BinFile(); List <string> files = file.Load_FileList(); Console.SetCursorPosition(30, 3); Frames frame = new Frames(); Input inp = new Input(); frame.Continuous(30, "Выберете файл", files.ToArray()); int y = 5; int x = 30; int i = 0; ConsoleKey?key = null; frame.Choice(x, y, ConsoleColor.Green, 30); while ((key != ConsoleKey.Enter) && (key != ConsoleKey.Escape)) { key = inp.InputKey(ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter, ConsoleKey.Escape); switch (key) { case ConsoleKey.DownArrow: if ((y / 2) < files.Count + 1) { frame.ContinuousChoice(x, y, ConsoleColor.White, 30); y += 2; ++i; frame.Choice(x, y, ConsoleColor.Green, 30); if (y == 7) { Console.SetCursorPosition(x, 5); string line = new string('═', 30); Console.WriteLine($"╠{line}╣"); } } break; case ConsoleKey.UpArrow: if (y != 5) { frame.ContinuousChoice(x, y, ConsoleColor.White, 30); y -= 2; --i; frame.Choice(x, y, ConsoleColor.Green, 30); if ((y / 2) == files.Count) { Console.SetCursorPosition(x, (files.Count + 1) * 2 + 3); string line = new string('═', 30); Console.WriteLine($"╚{line}╝"); } } break; case ConsoleKey.Enter: if ((del) && (frame.Call_MassageBox(30, 3, "Удалить файл?"))) { File.Delete($"C:/C#/RunDll/XMLfiles/{files[i]}.xml"); } else { BinFile.fileName = files[i]; } break; } } }
private string ChoiceDeveloper(int readPosY) { BinFile file = new BinFile(); Console.SetCursorPosition(80, 0); List <string> developerNames = file.GetDevNames(); Frames frame = new Frames(); frame.Continuous(25, "Выберите девелопера", developerNames.ToArray()); ushort x = 80; ushort y = 2; int i = 0; frame.Choice(x, y, ConsoleColor.Green, 25); Input inp = new Input(); ConsoleKey?key = null; while (key != ConsoleKey.Enter) { key = inp.InputKey(ConsoleKey.Escape, ConsoleKey.DownArrow, ConsoleKey.UpArrow, ConsoleKey.Enter); switch (key) { case ConsoleKey.DownArrow: if ((y / 2) < developerNames.Count - 1) { i++; frame.ContinuousChoice(x, y, ConsoleColor.White, 25); y += 2; frame.Choice(x, y, ConsoleColor.Green, 25); if (y == 4) { Console.SetCursorPosition(x, 2); string line = new string('═', 25); Console.WriteLine($"╠{line}╣"); } } break; case ConsoleKey.UpArrow: if ((y / 2) >= 2) { i--; frame.ContinuousChoice(x, y, ConsoleColor.White, 25); y -= 2; //Console.WriteLine(y); //Console.WriteLine(developers.Count); frame.Choice(x, y, ConsoleColor.Green, 25); if ((y / 2) == developerNames.Count - 2) { Console.SetCursorPosition(x, (developerNames.Count) * 2); string line = new string('═', 25); Console.WriteLine($"╚{line}╝"); } } break; case ConsoleKey.Enter: Console.SetCursorPosition(27, readPosY); Console.Write(developerNames[i]); break; } } return(developerNames[i]); }