我似乎无法找到的是,是否可以在 C# 控制台应用程序中在现有窗口顶部的某种层中写入文本,并在文本中写入进度条或信息。
我已经看到了执行此操作的 power shell cmdlet,它显示一个进度条,然后当它完成时,进度条消失并且下面的任何内容都是可见的。即使额外的控制台输出导致窗口滚动,我看到的栏也会保持原位。
有人有什么想法吗?
编辑:这是一个使用 Write-Progress 的 powershell 示例
我似乎无法找到的是,是否可以在 C# 控制台应用程序中在现有窗口顶部的某种层中写入文本,并在文本中写入进度条或信息。
我已经看到了执行此操作的 power shell cmdlet,它显示一个进度条,然后当它完成时,进度条消失并且下面的任何内容都是可见的。即使额外的控制台输出导致窗口滚动,我看到的栏也会保持原位。
有人有什么想法吗?
编辑:这是一个使用 Write-Progress 的 powershell 示例
很可能他们正在使用Console Screen Buffers。也就是说,它们保存当前缓冲区并创建一个新缓冲区供应用程序使用。应用程序完成后,它会将原始屏幕缓冲区放回原处。
几年前,我写了一篇关于在 .NET 中使用控制台屏幕缓冲区的文章。查看http://www.devsource.com/article2/0,1895,2011496,00.asp
完整源代码可在http://www.mischel.com/pubs/consoledotnet/consoledotnet.zip获得