C # - Консольные нажатия клавиш - PullRequest
2 голосов
/ 03 июля 2010

Я хочу сравнить клавишу, нажатую в консоли, с клавишей со стрелкой влево, если они равны, то есть нажатой клавишей была клавиша со стрелкой влево, клавиша меняет цвет фона консоли на голубой ...

Я не уверен, как настроить оператор If, потому что я не знаю, как сравнивать ключи в консоли.

using System;

namespace ConsolePaint
{
class MainClass
{


    public static void Main (string[] args)
    {
        ConsoleKeyInfo keypress;
        keypress = Console.ReadKey(); // read keystrokes 

        if ( keypress.KeyChar == ConsoleKey.LeftArrow )
        {
            Console.BackgroundColor = "Cyan";
        }
    }
}

}

Ответы [ 3 ]

4 голосов
/ 03 июля 2010

попробуйте это:

ConsoleKeyInfo keypress;
keypress = Console.ReadKey(); // read keystrokes 

if (keypress.Key == ConsoleKey.LeftArrow)
{
    Console.BackgroundColor = ConsoleColor.Cyan;
}
1 голос
/ 03 июля 2010

Вам нужно использовать keypress.Key (вместо .KeyChar) - ваш "Cyan" также должен быть ConsoleColors.Cyan.

0 голосов
/ 03 июля 2010

Попробуйте это:

    ConsoleKeyInfo keypress;
    keypress = Console.ReadKey(); // read keystrokes 
    if ( (int)keypress.Key == (char)ConsoleKey.LeftArrow )
    {
        Console.BackgroundColor = ConsoleColor.Cyan;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...