私はこの単純なコードがあります。Console.ReadKeyを使用する際にBackspaceキーが消去ではない()
static void Main(string[] args)
{
while (!System.Console.KeyAvailable)
{
var key = System.Console.ReadKey(false);
}
}
ユーザーがBackspaceキーを押すと、カーソルが戻ったばかりの移動が、最後の文字を消去しませんが。
入力がのバックスペースであるかどうかを確認して、Console.Write(" \b")
を呼び出してコールしますが、これが解決する最善の方法であるかどうかはわかりません。
私はConsole.Read()
またはConsole.ReadLine()
を使用して入力を読めばBackspaceキーが押されたときに、文字が消去されます。
なぜバックスペースキーがReadKey()
を使用するとその動作が変わるのですか?
「Enter」を押すと、同じことが起こります。カーソル位置は「0」に変わりますが、次の行には移動しません。 –
ええ、なぜですか?これを解決する方法はありますか? – thur
しかし、これはなぜ私がReadKey()を使うときに起こるのですか? @PeterDunihoもし私がそれを使用しないと、それは消去されます – thur