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