C # - консольные нажатия клавиш
-
02-10-2019 - |
Вопрос
Я хочу сравнить ключ, нажатый в консоли к клавише со стрелкой влево, если они равны, что означает, что нажата клавиша была клавиша со стрелкой влево, ключ изменяет цвет фона консоли в Cyan ...
Я не уверен, как настроить заявление, если я не знаю, как сравнивать клавиши в консоли.
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";
}
}
}
}
Решение
попробуй это:
ConsoleKeyInfo keypress;
keypress = Console.ReadKey(); // read keystrokes
if (keypress.Key == ConsoleKey.LeftArrow)
{
Console.BackgroundColor = ConsoleColor.Cyan;
}
Другие советы
Вам нужно использовать keypress.Key
(вместо .KeyChar
) - Также ваш "Cyan"
должно быть ConsoleColors.Cyan
слишком.
Попробуй это:
ConsoleKeyInfo keypress;
keypress = Console.ReadKey(); // read keystrokes
if ( (int)keypress.Key == (char)ConsoleKey.LeftArrow )
{
Console.BackgroundColor = ConsoleColor.Cyan;
}
Не связан с StackOverflow