有人可以给我一个片断,有关事件,当用户按下向下箭头按钮或向上箭头按钮,在控制台的东西被触发例如键盘事件教程C#
Console.WriteLine("You have pressed up/down arrow ");
也许这是一个愚蠢的问题,但我无法找到事件,但我需要与事件,任何帮助,欢迎。
有人可以给我一个片断,有关事件,当用户按下向下箭头按钮或向上箭头按钮,在控制台的东西被触发例如键盘事件教程C#
Console.WriteLine("You have pressed up/down arrow ");
也许这是一个愚蠢的问题,但我无法找到事件,但我需要与事件,任何帮助,欢迎。
有控制台应用程序没有UI事件,所以你坚持Console.ReadKey();
好吧,没关系,不能做类似如果Console.ReadKey == ConsoleKey.UpArrow Console.WriteLine(“向上的箭头被按下”); – 2013-03-18 16:32:41
这里有一个循环做反复,直到用户按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 ");
}
}
应该这样做。
谢谢你的回答 – 2013-03-18 16:37:02
没问题,祝你好运。 – 2013-03-18 16:37:45
控制台没有定义这些事件。您可以使用Console.ReadKey
来模拟某些内容。你必须定义自己的事件,则:在控制台上
var key = Console.ReadKey();
// create event parameters and dispatch the event
显然,Console.ReadKey
块。如果你愿意,你可以把它放在一个线程中,并从那里发送事件。但请注意,事件通知将在单独的线程(即不是主线程)中进行。
此外,您不能从同一个控制台读取两个不同的线程。那么,你可以,但结果是不可预知的。例如,如果后台线程正在等待ReadKey
,而另一个线程调用Console.ReadLine()
,则无法确定输入的最终位置。
这已被问过。看看这里http://stackoverflow.com/a/8898251/1967405 – Jras 2013-03-18 16:31:27