Windows 窗体用户控件中的 C# 按键监听器

标签 c# winforms keypress keylistener

你好,

我想在表单用户控件中添加关键监听器。包含在主窗体中。

当用户在我的应用程序中按下一个键时,我希望它做一些事情。

我该怎么做?

例如。如果我按下 w,则会出现一个弹出窗口,提示您按下了 w。

我已经在我的用户控制类中尝试过了;

  private void UC_ControlsTank_KeyPress(object sender, KeyPressEventArgs e)
    {
        Console.Write("You pressed:" + e.KeyChar);
    }

但是当我按下按键时,似乎什么也没有发生。

编辑:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        MessageBox.Show(e.KeyChar.ToString());
    }
}

这是我的表格: 这是我在 visual studio 中链接它的方式: enter image description here

最佳答案

首先,在捕获 KeyPress 之前,您必须将 Win Form 的 KeyPreview 属性设置为 true。除非您将其设置为 true,否则不会捕获 KeyPress。

关于Windows 窗体用户控件中的 C# 按键监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905555/

相关文章:

按键上的Javascript函数?

python - 你如何使用 curses 按下最后一个箭头键?

c# - 将 List<List<object>> 转换为 IList<IList<object>>

c# - 为 SpecBind 设置 Selenium Web 驱动程序

winforms - 无法从应用程序打开有关网络共享的 CHM 帮助

c# - EPG 时间线控制

c# - LongListMultiSelector 添加到选定的项目改为添加 2 个项目

c# - 动态对象的并行性能

c# - 文件内容搜索 C#

java - 如何在 Selenium 中按下2个键