有人可以给我一个片段,关于用户按下向下箭头按钮或向上箭头按钮时的事件,在控制台中要触发的示例
Console.WriteLine("You have pressed up/down arrow ");
也许这是一个愚蠢的问题,但我在活动中找不到它,但我需要参加活动,欢迎任何帮助。
有人可以给我一个片段,关于用户按下向下箭头按钮或向上箭头按钮时的事件,在控制台中要触发的示例
Console.WriteLine("You have pressed up/down arrow ");
也许这是一个愚蠢的问题,但我在活动中找不到它,但我需要参加活动,欢迎任何帮助。
这是一个重复执行此操作的循环,直到用户按下 Ctrl+C:
while (true)
{
ConsoleKeyInfo key = Console.ReadKey();
if (key.Key == ConsoleKey.UpArrow || key.Key == ConsoleKey.DownArrow)
{
Console.WriteLine("You have pressed up/down arrow ");
}
}
那应该这样做。
控制台应用程序没有 UI 事件,所以你被困在了Console.ReadKey();
控制台没有定义这些事件。您可以使用Console.ReadKey
. 您必须定义自己的事件,然后:
var key = Console.ReadKey();
// create event parameters and dispatch the event
显然,Console.ReadKey
控制台上的块。如果需要,您可以将其放入线程中,然后从那里分派事件。但请注意,事件通知将进入一个单独的线程(即不是主线程)。
此外,您不能从同一个控制台读取两个不同的线程。好吧,你可以,但结果是不可预测的。例如,如果您的后台线程正在等待 aReadKey
而另一个线程调用Console.ReadLine()
,则不知道输入将在哪里结束。