为什么我的 KeyPressEvent 不能与右/左/上/下一起使用?

2024-03-01

在 C# 中,我试图查看用户是否按下了正确的键,以便玩家向右移动,但是当我尝试时,它没有注册按键:

private void KeyPressed(object sender, KeyPressEventArgs e)
{
      if(e.KeyChar == Convert.ToChar(Keys.Right))
      {
              MessageBox.Show("Right Key");
      } 
} 

它不显示消息框

这也不适用于左/上/下

但是,如果我将其替换为

if(e.KeyChar == Convert.ToChar(Keys.Space))

有用。

难道我做错了什么?


你应该使用KeyDown事件,例如对于箭头:

private void KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Up || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
    {
    }
}

箭头键不是字符,所以KeyPressed不用于他们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 KeyPressEvent 不能与右/左/上/下一起使用? 的相关文章

随机推荐

  • 使用集合对值进行排序

    使用集合进行排序很漂亮 对我来说比使用比较器要好得多 因为我有多个相同的值 并且我希望它们不要被扔进垃圾桶 但 Collections 有它自己的问题 它似乎认为 2 组的重复数量小于其实际较小的对应部分 示例有这些键和值 katy 1 m
  • 一组图像中颜色(色调)值 (0-359) 出现次数的总和

    我有一个装满图像的文件夹 我想找到出现次数最少的色相值 为此 我为所有色调值创建一个长度为 360 的数组 获取文件夹中的所有图像 遍历它 对于每个像素 我在数组中代表色调值的索引处添加 1 例如 如果我的像素中的色调值为 0 我会在数组中
  • [Hive]查询 hive 数据库时出现“ArrayIndexOutOfBoundsException”

    当我查询配置单元基础 hive 0 11 0 和 hive 0 12 0 时 我总是得到 ArrayIndexOutOfBoundsException 但有时不会 这是错误 java lang RuntimeException Hive R
  • Python Dataframe 在微秒内重新采样

    我正在处理重新采样数据帧 它可以在几小时 几天 几分钟内工作 但重新采样的时间不会少于秒 即使时间跨度很短 程序也会挂起 那么我错过了什么吗 我尝试了 0 000001S U 等 到目前为止没有任何效果 我的时间格式 2015 08 29
  • Networkx:获取节点之间的距离

    我是使用 NetworkX 的初学者 我正在尝试找到一种方法来检测哪些节点彼此之间的距离为 x 我开始使用这个算法来获取所有对 path nx all pairs dijkstra path G 但我仍然不确定如何使用 for 循环检测节点
  • 对 (->) 作为 monad 和 functor 的实例感兴趣

    我很感兴趣 gt 当我查找有关信息时 gt 在 ghci 中 它说 data gt a b Defined in GHC Prim 到目前为止一切都很好 但是当它说时它变得非常有趣 instance Monad gt r Defined i
  • VBA - 从 Access 生成 Excel 文件(查询表)

    我有一个项目 基本上目标是使用 VBA 在 Access 中单击按钮来生成 Excel 报告 该报告的内容是 SQL Server 数据库存储过程的结果 错误行 With MeuExcel Worksheets 4 QueryTables
  • 如何从父组件修改组件的样式?

    我需要从其父组件修改 Vue 组件的一些 CSS 属性 它将覆盖组件内定义的 CSS 我首先期望对于一个组件
  • 我可以使用 Firestore 获取使用 batch().set 创建的文档的生成 ID 吗?

    有没有一种方法可以获取使用 Firestore 批量创建的文档的自动生成 ID 使用时 add 我可以轻松获得 ID db collection posts add title Hello World then function docRe
  • 部署在 Web 服务器上时 Crystal Report 图标/工具栏不起作用

    我构建了一个网页 其中包含使用 Visual Studio 2008 中包含的 Crystal 库构建的 Crystal Report It 在我的机器上工作 http jcooney net archive 2007 02 01 4299
  • JSF 读取托管 bean 中的动态输入元素

    我有一个非常复杂的 JSF 页面 我们使用带有 Facelet 的 JSF2 我必须在其中 插入 一个纯 html 表单部分 它代表稍后将创建为 Pdf 的文档的所见即所得模板 页面看起来非常简化
  • 从字符中获取 KeyCode?

    我需要能够读取字符并获取与其语言和键盘布局相关的键 我知道如何看待文化背景和语言 但是我怎样才能知道像英语中的 S 这样的字母并且知道它在键盘上是什么键呢 或者对于更难的问题 我如何取出字母 并知道它在键盘上的键是什么 用一个示例程序可能比
  • 无法使用 iOS6.1 sdk 构建 Google Maps SDK for IOS 版本 1.7.0

    我刚刚更新到 GMS 版本 1 7 0 无法成功构建基础SDK iOS6 1 我可以使用 Base SDK iOS7 0 成功构建 GMS 版本 1 7 0 我还可以使用 Base SDK iOS6 0 或 7 0 成功构建旧的 GMS 版
  • MongoDb 区域副本集 - 每个区域的主节点?

    给定一个具有区域用户 区域为北美 欧洲 亚洲 的应用程序 如何创建允许 HK 用户写入最近节点的副本集 目标是香港的用户读取和写入其本地节点 而不会遭受写入美国的延迟 我的假设是 我可以在每个区域设置一个应用程序堆栈 通过副本集在所有区域之
  • 两种颜色的背景 - React Native

    有没有办法让背景有两种颜色 如下所示 两种颜色 https i stack imgur com 0DPHC png我尝试过使用线性渐变 但那只是渐变 我不知道如何在主视图标签中放置两种颜色作为背景 有什么建议么 如果视图的尺寸无法帮助您 请
  • go中如何将[][]byte转换为**char

    我想从 go byte 转换为 C char 换句话说 我在 go 中有一个字节矩阵 我想将其转换为 C 中的 char 双指针 请假设我必须有一个 byte 作为输入和一个 char 作为输出 我知道可以通过执行以下操作从 byte 转换
  • Lambda 的结果角色定义中的可信实体是什么?

    下面是 SAM 模板 Resources HelloWorldFunction Type AWS Serverless Function Properties CodeUri hello world Handler app LambdaHa
  • 在 Visual Studio 中哪里可以修改详细的 C# 编译器优化设置?

    在Visual Studio C C 项目中 可以很容易地在 属性页 C C 优化 中修改编译器的优化设置 例如 我们可能会给出不同的优化级别 例如 O2和 O3 以及高级优化 例如 省略帧指针 但是 我无法简单地在 Visual Stud
  • 减去具有不同时间戳的两个文档之间的数字字段

    假设我有这些数据样本 date 2019 06 16 rank 150 name doc 1 date 2019 07 16 rank 100 name doc 1 date 2019 06 16 rank 50 name doc 2 da
  • 为什么我的 KeyPressEvent 不能与右/左/上/下一起使用?

    在 C 中 我试图查看用户是否按下了正确的键 以便玩家向右移动 但是当我尝试时 它没有注册按键 private void KeyPressed object sender KeyPressEventArgs e if e KeyChar C