我正在编写一个控制台应用程序,我需要知道,如何使用行的移位来编写当前行。我试着在下一个例子中解释这个: 让它控制线条的数字和内容以及光标位置。
当我在控制台文本“lalala”中调用我的方法编写时,我希望看到:
如果我使用Console.WriteLine方法,我会看到下一个:
请帮我实现这个功能。
答案 0 :(得分:3)
由于您没有提供任何代码,我假设您使用Console.WriteLine("Please write something");
打印文本。由于这会在您要打印的文本中添加\ n,因此您应该使用Console.Write("Please write something")
然后执行Console.ReadLine();
来获取输入并自行处理\ n。
答案 1 :(得分:3)
Console.SetCursorPosition是你要找的毒药。 有关http://msdn.microsoft.com/en-us/library/system.console.setcursorposition.aspx
的更多详情答案 2 :(得分:2)
Console.WriteLine("1.Hello!");
Console.WriteLine("2.This is my command shell.");
Console.WriteLine("3.lalala");
Console.Write("4.Please write something:");
Console.Read();
答案 3 :(得分:1)
如果我理解你的问题,我认为你需要使用
Console.Write("text");
这将写在光标当前所在的同一行上。
而不是:
Console.WriteLine("text");
每次调用它时,都会在控制台中创建一个新行。
答案 4 :(得分:1)
尝试这样的事情
Console.Write("Hello\nThis is My Command Shell\nlalala\nPlease Enter Something:___");
如果最终将它们全部出现的课程同时出现,但如果您对此有好处,那么
看起来像这样
答案 5 :(得分:0)
我意识到这是一个老问题,但我一直在搜索这些东西,以下是它的编码方式:
Console.WriteLine("Hello!");
Console.WriteLine("This is my command shell.");
string text = "";
string toWrite = "Please write something: ";
while (text != "quit")
{
Console.Write(toWrite);
text = Console.ReadLine();
Console.SetCursorPosition(0, Console.CursorTop - 1);
Console.WriteLine(text.PadRight(text.Length + toWrite.Length));
}
Console.SetCursorPosition将光标放回到写入的行,然后覆盖用文本写入的内容以及相当于文本有多少个字符的填充。