static void Main(string[] args)
{
int top, left;
Console.WriteLine();
Console.Write("Type here: ");
for (int i = 0; i < 99; i++)
{
top = Console.CursorTop;
left = Console.CursorLeft;
Console.SetCursorPosition(0, Console.CursorTop - 1);
Console.WriteLine("hi" + Environment.NewLine);
Console.SetCursorPosition(left, top);
}
Console.ReadKey();
}
我希望结果在一个“Type Here:”之上有100“hi”,我希望能够在打印出hellos之前输出“Type Here:”我会喜欢任何帮助,因为我一直坚持这一段时间了。
答案 0 :(得分:3)
恕我直言混合正常&#34; stdio&#34;输出和光标/窗口/缓冲区操作不是一个好主意,但无论如何。试试这个:
static void Main(string[] args)
{
int top;
Console.WriteLine();
Console.Write("Type here: ");
Console.WriteLine();
for (int i = 0; i < 99; i++)
{
Console.WriteLine("hi" + Environment.NewLine);
}
top = Console.CursorTop;
Console.MoveBufferArea(0, top - 199, Console.WindowWidth, 1, 0, top);
Console.SetCursorPosition(11, Console.CursorTop);
Console.ReadKey();
}
请注意,这高度依赖于控制台缓冲区设置。 您应该考虑使用例如
设置缓冲区Console.SetBufferSize(80, 500);