我想显示一个秒表,但我不想为每个显示器清理我的控制台,
Stopwatch chrono = new Stopwatch();
chrono.Start();
bool isMyComputerOn = true;
while (isMyComputerOn)
{
Console.WriteLine("Time : "+chrono.Elapsed);
}
有什么想法吗?
答案 0 :(得分:1)
您必须使用SetCursorPosition来固定光标的位置
Stopwatch chrono = new Stopwatch();
chrono.Start();
bool isMyComputerOn = true;
while (isMyComputerOn)
{
Console.SetCursorPosition(1,1);
Console.WriteLine("Time : "+chrono.Elapsed);
}
答案 1 :(得分:0)
你应该能够用
这样的东西达到你想要的效果Console.Write("Time : "+chrono.Elapsed+" \r");
答案 2 :(得分:0)
您可以将Console.CursorLeft
和Console.CursorTop
属性存储到本地整数变量中。然后在调用Console.WriteLine()
之前使用Console.SetCursorPosition()
在控制台中设置光标位置。
示例:
Stopwatch chrono = new Stopwatch();
chrono.Start();
bool isMyComputerOn = true;
int cursorCol = Console.CursorLeft;
int cursorRow = Console.CursorTop;
while (isMyComputerOn)
{
Console.SetCursorPosition(cursorCol, cursorRow);
Console.WriteLine("Time : " + chrono.Elapsed);
}
答案 3 :(得分:-1)
以下是类似问题的答案:
for(int i = 60; i >= 0; i--)
{
Console.Write("\r{0}% ", i);
}
How can I update the current line in a C# Windows Console App?