我很奇怪的是,如果能够做到这一点,我就提出:
private static string ReadBox(int maxLen)
{
var sb = new StringBuilder();
int pos = 0;
bool done = false;
int start = Console.CursorLeft;
while (!done)
{
var ki = Console.ReadKey(true);
switch (ki.Key)
{
case ConsoleKey.Enter:
done = true;
break;
case ConsoleKey.Delete:
// todo
break;
case ConsoleKey.Backspace:
if (pos > 0)
{
pos -= 1;
sb.Remove(pos, 1);
}
break;
case ConsoleKey.LeftArrow:
if (pos > 0) pos -= 1;
break;
case ConsoleKey.RightArrow:
if (pos < sb.Length) pos += 1;
break;
default:
if (ki.KeyChar >= ) // simple filter
{
sb.Insert(pos, ki.KeyChar);
pos += 1;
}
break;
}
Console.CursorLeft = start;
Console.Write(sb.ToString());
Console.CursorLeft = start + pos;
}
return sb.ToString();
}
请注意,我们实际上没有使用哥索尔。 在此缓冲地带,它被绕过。 奥赫特和我从头开始就留下了大事。 但是,你可以轻易执行。
但是,如果你严肃对待这一类型的国际调查,我会看一看一个曲线图书馆,如,这个图书馆是。 但我想起莫诺的话,我甚至不敢肯定,如果它将在网络上运行。 搜索。