我想实现这样的目标:
Time consuming operation...OK
Another time consuming operation...
And another one, but it completed, so...OK
我显示了 3 行文本,每行都与一个线程相关,该线程迟早会结束。但是如果第二个比第三个晚完成,我会得到这样的结果:
Time consuming operation...OK
Another time consuming operation...
And another one, but it completed, so...OKOK
这当然是 Not Acceptable 。我知道如何回到当前行,但有没有办法向上?我发誓我在某个地方见过它,尽管它可能是一个 Linux 控制台 :)
算了。请参阅远程文件管理器!它适用于 Windows 控制台,甚至适用于 PowerShell!如何制作这样的东西?最酷的部分是它在退出后恢复控制台状态。所以也许我应该问 - 如何直接访问控制台缓冲区?我想我需要一些 native 代码来完成这个技巧,但也许还有另一种方法?我想在每次更新时清除控制台,但这似乎有点矫枉过正。或者也许不是?它会眨眼吗?
最佳答案
你可以随意移动光标:Console.SetCursorPosition或使用 Console.CursorTop .
Console.SetCursorPosition(0, Console.CursorTop -1);
Console.WriteLine("Over previous line!!!");
关于c# - 如何修改控制台文本的前一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10804233/