使用箭头键在控制台中导航
我正在制作菜单。我想使用箭头键从列表中进行选择。
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
Im making a menu. I want to use arrow keys to select from my list.
char move;
do
{
move = (char)_getch();
if (move == 38)
{
// Move Indicator Up
}
else if (move == 40)
{
// Move Indicator Down
}
}
while (move != 13);
Am i using the wrong ascii values for up and down keys?
SOLVED
i replaced (char)_getch() to (int)_getch() and char move to int move
then 38 and 40 to ?? and 80
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好像您正在 DllImporting msvcrt.dll 来使用 _getch()
尝试使用 Console.ReadKey()
Seems like you're DllImporting msvcrt.dll to use _getch()
Try using Console.ReadKey()
如果我们谈论的是 WinForms 应用程序,我建议您使用 Control.KeyDown 事件。
“Console.Read()”不适用于 WinForms 应用程序。
更新
C# 中控制台应用程序使用箭头键进行菜单导航的示例。 >>> 示例 1 示例 2
In case we are talking about a WinForms application i would recommend you to use the Control.KeyDown Event.
"Console.Read()" doesn't work for WinForms applications.
Update
Example for menu navigation with arrow key for console application in C#. >> Sample 1 Sample 2