0

ユーザーが下矢印ボタンまたは上矢印ボタンを押したときのイベントについて、コンソールで何かがトリガーされる例について、誰かがスニペットをくれますか

 Console.WriteLine("You have pressed up/down arrow ");

たぶんそれはばかげた質問ですが、イベントで見つけることができませんが、イベントに参加する必要があります。どんな助けも歓迎します。

4

3 に答える 3

2

ユーザーが 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-18T16:35:29.903 に答える
1

コンソール アプリケーションの UI イベントがないため、Console.ReadKey();

于 2013-03-18T16:31:44.207 に答える
0

コンソールはこれらのイベントを定義しません。を使用して何かをシミュレートできますConsole.ReadKey。独自のイベントを定義する必要がある場合は、次のようにします。

var key = Console.ReadKey();
// create event parameters and dispatch the event

明らかにConsole.ReadKey、コンソールのブロック。必要に応じてそれをスレッドに入れ、そこからイベントをディスパッチできます。ただし、イベント通知は別のスレッド (つまり、メイン スレッドではない) で行われることに注意してください。

また、同じコンソールから読み取る 2 つの異なるスレッドを持つことはできません。できますが、結果は予測できません。たとえば、バックグラウンド スレッドが a を待機してReadKeyおり、別のスレッドが を呼び出しConsole.ReadLine()ている場合、入力がどこで終了するかわかりません。

于 2013-03-18T16:37:11.883 に答える