问题标签 [readkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
147 浏览

vb.net - vb.net readline 或 readkey 不想停止我的程序

我的代码正在工作我单独尝试过,但这里的问题是当我将它们放在一起时,readkey或readline不会停止程序并且do循环也不起作用,有人可以看看请提前谢谢

0 投票
0 回答
83 浏览

c# - Console.ReadKey() 奇怪的行为?

我试图了解Console.ReadKey()vs发生了什么Console.ReadKey(true)。我知道包含true会阻止密钥显示到控制台,但是在使用时会产生一些奇怪的行为Console.Clear();我应该说这个 C# 代码正在编译并在 Pixel C (android) 平板电脑上运行。我不知道它在 Windows 上的行为是否相同。

执行时,此控制台将显示...

...之后我可以按一个键,清除控制台,然后再次显示文本。

但是,如果我更改Console.ReadKey(true);为,Console.ReadKey();则执行会按预期生成初始文本,并且在按下一个键后仅显示...

最后,以上述两种方式运行代码,但删除Console.Clear();行的额外更改导致所有文本按预期显示(不清除屏幕),不同之处在于,当使用Console.ReadKey();任何可显示的键按下时也被写入到控制台(我希望)。

0 投票
1 回答
108 浏览

c# - ReadKey 在线程超时结束之前获取字符

我正在尝试我的第一个基于 c# 控制台的游戏。我创建了一个居中的学分介绍,最后印有“按任意键继续...”。我曾经Console.ReadKey()在等待用户输入时模拟暂停。问题是您可以“堆叠”输入,可能有一个更好的术语,但本质上,当控制台处于超时状态时,仍会读取关键输入并排队等待超时结束。例如;

这不是我想要的功能。有人对此有解决方案吗?不使用Thread.Sleep()Console.ReadKey()

如果您仍然不明白问题,请在Thread.Sleep()仍然有效时按一个键,readkey,时间到后将打印该字符。有谁知道如何停止读取密钥?

如果您想要实际的项目代码,请询问。虽然我认为这与这个问题无关。

0 投票
2 回答
90 浏览

c# - 我想在 C# 控制台中制作蛇游戏,移动问题

要改变蛇的方向,我首先必须按向上箭头,然后按蛇的新方向,蛇会朝那个方向前进,直到我再次击中向上箭头。因此,要向左改变方向,您需要按向上箭头,然后按向左箭头。当我按左键使蛇向左移动时,我希望它消失。基本上向上箭头正在暂停游戏,我不知道为什么。

0 投票
1 回答
77 浏览

powershell - Powershell中的问题不使用ReadKey

在自定义 Powershell 函数中使用以下 LOC 时,该函数本质上是从脚本调用的“等待直到按下任何键” :

…稍后,特别是当函数返回或完成我得到的上下文时:

问:如何避免这种情况?

0 投票
3 回答
74 浏览

c# - Console.ReadKey seems to be reading the wrong key?

I'm just starting out so I'm in the middle of writing my first console application from scratch. I have this line of code, when I hit d it correctly takes me to the next step and sets disadvantage to true, however if I hit a it executes the else statement for some reason. Any ideas what the cause is?

0 投票
1 回答
502 浏览

c# - 如何在 C# 控制台应用程序中忽略“Enter”键?

此 ConsoleApp 假设从控制台输入年、月、日。我想禁用除数字(0-9)之外的键。

现在这是我的代码,一般来说,它可以工作。

但是,比如我想输入“2020”到年份,当我输入“202”并回车时,光标会跳到这一行的开头。看起来像截图,虽然不会影响最终结果。

我想控制台忽略 Enter 按键(没有任何反应),请问该怎么做?

我的截图

0 投票
1 回答
872 浏览

powershell - 为什么 $host.UI.RawUI.ReadKey() 方法会捕获未真正按下的 Enter 键?

我想在 PowerShell 7 中编写一个函数来等待用户按下某个键或组合键(例如 Alt+Ctrl+D)。我可以选择两个选项:.net 核心中的 Console.ReadKey() 方法和 PowerShell 中的 $host.UI.RawUI.ReadKey() 方法。

这两种方法我都测试过了。Console.ReadKey() 方法工作得很好,但是 $host.UI.RawUI.ReadKey() 方法有一个奇怪的行为:它会捕获一个没有真正按下的“Enter”键(键码:13)。

代码(在 .ps1 脚本文件中,用于测试方法):

在 PowerShell 7 控制台中运行脚本后,在按下任何键之前,我得到:

即使我在 while 循环之前调用$host.UI.RawUI.FlushInputBuffer()方法,或者在调用 ReadKey() 方法之前,仍然会出现这种奇怪的行为。

如果我使用 $host.UI.RawUI.ReadKey() 方法,此行为将破坏我的函数的工作,使其无法正确处理单个 Enter 键,并且在按下任何键之前它不能用于阻止,因为它会即使用户没有按下 Enter 键,也会捕获“Enter”键。

Console.ReadKey() 方法没有这个问题。

为什么?

0 投票
0 回答
102 浏览

keypress - 如何读取最后按下的键并做某事?

我想阅读击键并做相应的事情。当我读取最后按下的键时,默认任务是发送最后一个键:

isPressed()无法检测到*其他一些字符;我也想检测这些。我怎样才能做到这一点?

0 投票
1 回答
30 浏览

c# - 如果有人在哪里发送垃圾邮件,如何摆脱 ReadKey() 问题?

我的控制台应用程序在代码中使用 ReadKeys;如果一个人在 ReadKey 未激活时单击某个键,我推测它会被添加到某种队列中,因此当代码到达 readKey 时,它会立即继续前一个按键并继续,就好像那个键被按下。有没有办法来解决这个问题?

编辑:为了澄清,轴向按键会影响尚未运行的 ReadKeys