Что я делаю, это чтение записей журнала в консоли. Я хочу сохранить прогресс в нижней части и показать прогресс.C# Консоль всегда держит индикатор выполнения внизу
Проблема заключается в том, что запись обновления будет перекрывать панель прогресса.
private static void DrawProgressBar(int complete, int maxVal, int barSize, char progressCharacter)
{
Console.CursorVisible = false;
int left = Console.CursorLeft;
//int top = Console.CursorTop;
//Console.CursorTop = Console.WindowTop + Console.WindowHeight - 1;
decimal perc = (decimal)complete/(decimal)maxVal;
int chars = (int)Math.Floor(perc/((decimal)1/(decimal)barSize));
string p1 = String.Empty, p2 = String.Empty;
for (int i = 0; i < chars; i++) p1 += progressCharacter;
for (int i = 0; i < barSize - chars; i++) p2 += progressCharacter;
Console.ForegroundColor = ConsoleColor.Green;
Console.Write(p1);
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.Write(p2);
Console.ResetColor();
Console.Write(" {0}%", (perc * 100).ToString("N2"));
Console.CursorLeft = left;
//Console.SetCursorPosition(left, top);
}
Добро пожаловать в переполнение стека, пожалуйста, прочитайте [как спросить] (http://stackoverflow.com/help/How-to-ask), так как здесь нет никаких вопросов. – BugFinder