Har*_*rry 21 c# console powershell
我想实现这样的目标:
Time consuming operation...OK
Another time consuming operation...
And another one, but it completed, so...OK
Run Code Online (Sandbox Code Playgroud)
我显示了3行文本,每行都与一个可以迟早结束的帖子相关.但如果第二个比第三个完成,我会得到这样的东西:
Time consuming operation...OK
Another time consuming operation...
And another one, but it completed, so...OKOK
Run Code Online (Sandbox Code Playgroud)
这当然是不可接受的.我知道如何回到当前的路线,但有没有办法上线?我发誓我已经在某个地方见过它,虽然它可能是一个Linux控制台:)
算了吧.见远程文件管理器!它适用于Windows控制台,甚至可以在PowerShell中运行!怎么做这样的东西?最酷的部分是退出后恢复控制台状态.所以也许我应该问 - 如何直接访问控制台缓冲区?我假设我需要一些本机代码来完成这个技巧,但也许还有另外一种方法吗?我想到每次更新清除控制台,但这似乎有点矫枉过正.或许它不是?它会眨眼吗?
Ale*_*kov 53
您可以将光标移动到任何位置:Console.SetCursorPosition或使用Console.CursorTop.
Console.SetCursorPosition(0, Console.CursorTop -1);
Console.WriteLine("Over previous line!!!");
Run Code Online (Sandbox Code Playgroud)
使用回车符。此示例打印一行,覆盖之前的内容。
Console.WriteLine();
for (int i = 0; i <= 100; i++)
{
System.Threading.Thread.Sleep(10);
Console.Write("\x000DProgress: " + i);
}
Run Code Online (Sandbox Code Playgroud)
只要您的所有字符串少于80列(或将您的终端缓冲区设置为任何列),此方法就起作用。
| 归档时间: |
|
| 查看次数: |
24927 次 |
| 最近记录: |