将控制台输出设置为特定行

时间:2013-02-13 15:37:31

标签: c# .net console

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

关于如何使其发挥作用的任何建议都将非常受欢迎。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

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