0
我有这个简单的代码:Backspace键删除不使用Console.ReadKey时()
static void Main(string[] args)
{
while (!System.Console.KeyAvailable)
{
var key = System.Console.ReadKey(false);
}
}
当用户按下退格,光标只是向后移动,但不会删除最后一个字符。
我读了一些人只是检查,如果输入的是退格,并呼吁Console.Write(" \b")
抹去,但我不知道这是否是最佳解决办法。
如果我使用Console.Read()
或Console.ReadLine()
读取输入,当按下退格时,字符被删除。
为什么退格键键在使用ReadKey()
时会改变其行为?
同样的事情发生在按下“Enter”键时 - 光标位置变为“0”,但不移动到下一行。 –
是的,但是为什么?有什么办法可以解决这个问题? – thur
但是,为什么这只是当我使用ReadKey()? @PeterDuniho如果我不使用它,它会删除 – thur