.NET控制台应用程序,可以创建标签和区域吗?

JL.*_*JL. 2 c#

是否可以将C#控制台应用程序输出文本添加到已绘制的标签中?我见过一些原生的win 32控制台应用可以做到这一点.

所以在屏幕上用户看到:

进度:1%或进度:50%取决于标签更新的时间(标签进度保持在同一位置,而只更新进度百分比的值).

而不是我知道当前如何做的唯一方法是console.writeLine,它将为每个Progress更新生成一个单独的行.

例如:

进度:1%

进度:2%

Ree*_*sey 9

是的,你可以这样做.

您可以使用Console.SetCursorPosition在写入后重新定位光标.

例如:

Console.WriteLine("Starting algorithm...");

int line = Console.CursorTop;
for (int i=0;i<100;++i)
{
    Console.SetCursorPosition(0,line);
    Console.Write("Progress is {0}%        ",i);  // Pad with spaces to make sure we cover old text
    Thread.Sleep(100);
}
Console.SetCursorPosition(0,line);    
Console.WriteLine("Algorithm Complete.       "); // Pad with spaces to make sure we cover old text
Run Code Online (Sandbox Code Playgroud)