-1
我正在開發一個項目,通過在Mac OS上鍵入命令(如終端)來執行某些特定操作。問題是Console.ReadLine
和Console.ReadKey
方法不能相互共享線程。在Console.Readline運行時鍵入事件
例如, 我正在創建一個程序,當我在使用Console.ReadLine
鍵入字符串時按ESC鍵時終止。
我可以通過以下的方式做到這一點:
ConsoleKeyInfo cki;
while (true)
{
cki = Console.ReadKey(true);
if (cki.Key == ConsoleKey.Escape)
break;
Console.Write(cki.KeyChar);
// do something
}
但與該方法的問題是,按Backspace鍵,你在控制檯上鍵入不會刪除輸入字符串的最後一個字符。
要解決此問題,我可以保存輸入字符串,按Backspace鍵時初始化控制檯屏幕,然後再次輸出保存的字符串。但是,我想保存之前輸入的字符串記錄,我不想初始化。
如果有方法清除已使用Console.Write
打印的字符串的一部分,或者在使用Console.ReadLine
輸入字符串時按下特定鍵時發生的事件,則上述問題可能是輕鬆解決。
哦,謝謝,謝謝 –