是否可以使用Console.Write在典型的80x25控制台的最右下角放置一个字符,而无需让控制台滚动该行?这是我正在使用的代码......
Imports System
Console.SetCursorPosition(Console.WindowWidth-1, Console.WindowHeight-1)
Console.Write("x")
这不符合我的意愿。任何建议或替代方案?我已经测试过SetCursorPosition已经使用了0,0坐标系。使用WindowWidth-1 / Height-1应该把我放在屏幕的右下角......它确实如此,但是然后Console.Write将“x”放下并继续到下一行。
答案 0 :(得分:4)
您可以尝试移动缓冲区。例如:
Console.WriteLine("Top")
Console.SetCursorPosition(Console.WindowWidth - 1, Console.WindowHeight - 1)
Console.Write("x")
Console.MoveBufferArea(0, 0, 80, 25, 0, 1)
Console.ReadLine()
答案 1 :(得分:0)
问题在于,无论何时写入特定行中的最后一个位置,控制台始终会将您移至下一行。你可以做的最接近的事情是写到倒数第二个位置:
Console.CursorLeft = Console.WindowWidth - 1;
Console.Write("X");
答案 2 :(得分:0)
我用肮脏但功能性的方式解决了它。
Console.SetCursorPosition(79, 24); //last pos
Console.BufferWidth++;
Console.Write("x");
Console.BufferWidth--;
Console.ReadKey();
盒子的一侧会闪烁一毫秒,但我认为没有人会注意到:)