【问题标题】:Set Console output to specific row将控制台输出设置为特定行
【发布时间】:2013-02-13 15:37:30
【问题描述】:

我正在开发一个控制台应用程序,它使用 Console.WriteLine(在单独的线程上)输出与事件相关的实时信息。该应用程序还允许用户通过 Console.ReadLine() 输入命令。当输出在用户输入命令的同时发生时,输出与输入混合在一起。因此,我正在寻找一种方法来保留控制台窗口的底行以供输入,同时将输出设置为显示在倒数第二行(并从那里向上滚动),从而避免混合。

任何关于如何使其工作的建议将不胜感激。

谢谢!

【问题讨论】:

  • 这怎么可能,除非你有ReadLine()WriteLine() 发生冲突,你能显示你当前使用的代码吗?

标签: c# .net console


【解决方案1】:

您可以使用 Console.SetCursorPosition 然后使用 Console.Write

http://msdn.microsoft.com/en-us/library/system.console.setcursorposition.aspx

但是您不能使用 Console.ReadLine,请尝试使用 Console.ReadKey(false),然后在最后一行写入输入的键。实际上你必须用 ReadKey 和 Write 来模拟 Console.ReadLine。

【讨论】:

  • 好主意,但恐怕这也会干扰同时输入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 2020-02-25
  • 2015-08-22
  • 2013-11-14
相关资源
最近更新 更多