Подскажите как можно писать в консоль в тоже место асинхронно, как это делает докер на следующем скрине:
Asked
Active
Viewed 1,116 times
6
-
Функциями для работы с консолью WriteConsoleOutput и их семейством. Вбейте в поиск WriteConsoleOutput с# – nick_n_a Jun 15 '18 at 13:47
-
1На so вот есть наброски https://ru.stackoverflow.com/questions/499668/%d0%9a%d0%b8%d1%80%d0%b8%d0%bb%d0%bb%d0%b8%d1%86%d0%b0-%d0%b2-charunion-unicodechar – nick_n_a Jun 15 '18 at 13:49
1 Answers
11
Запоминаете текущие координаты курсора в консоли, потом устанавливаете их же.
public static void Main(string[] args)
{
Console.Write("1 Downloading: ");
var left1 = Console.CursorLeft;
var top1 = Console.CursorTop;
Console.WriteLine();
Console.Write("2 Downloading: ");
var left2 = Console.CursorLeft;
var top2 = Console.CursorTop;
Console.CursorVisible = false;
for (int i = 0; i < 1000; i++)
{
Console.SetCursorPosition(left1, top1);
Console.Write(i + " MB");
Console.SetCursorPosition(left2, top2);
Console.Write(i * 2 + " MB");
Thread.Sleep(100);
}
}
Alexander Petrov
- 29,233
