使用方向键在控制台中导航

本文关键字:控制台 导航 方向 | 更新日期: 2023-09-27 18:02:25

我正在制作菜单。我想用方向键从列表中进行选择。

char move;
do
{
    move = (char)_getch();
    if (move == 38)
    {
         // Move Indicator Up   
    }
    else if (move == 40)
    {
         // Move Indicator Down
    }
}
while (move != 13);

我使用错误的ascii值向上和向下键?

解决

将(char)_getch()替换为(int)_getch(),将char move替换为int move然后38岁和40岁??和80年

使用方向键在控制台中导航

似乎您正在导入msvcrt.dll以使用_getch()

尝试使用Console.ReadKey()

ConsoleKeyInfo keyInfo = Console.ReadKey();
if (keyInfo.Key == ConsoleKey.UpArrow) {
} else if (keyInfo.Key == ConsoleKey.DownArrow) {
} ...

如果我们谈论的是WinForms应用程序,我建议您使用控件。KeyDown事件。"Console.Read()"不适用于WinForms应用程序。

c#控制台应用程序中带有箭头键的菜单导航示例。