我正在制作菜单。我想用箭头键从我的列表中选择。
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移动到int move 那么38和40到??和80
答案 0 :(得分:6)
好像你是DllImporting msvcrt.dll来使用_getch()
尝试使用Console.ReadKey()
ConsoleKeyInfo keyInfo = Console.ReadKey();
if (keyInfo.Key == ConsoleKey.UpArrow) {
} else if (keyInfo.Key == ConsoleKey.DownArrow) {
} ...
答案 1 :(得分:1)
如果我们讨论的是WinForms应用程序,我会建议您使用Control.KeyDown Event。 “Console.Read()”不适用于WinForms应用程序。
<强>更新强> 使用C#中控制台应用程序的箭头键进行菜单导航的示例。 &GT;&GT; Sample 1 Sample 2