私は、ログファイルのレコードをコンソールに読み込んでいます。 私は下部にプログレスバーを残して、進行状況を表示したい。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