C#按下enter键时keydown无响应的问题

KeyPreview已经设置为true了之后,按下enter键keydown不响应,但会根据系统默认的响应方法(重复按下焦点所在button键)做出响应。

解决方法:

在Form类中添加函数:

        protected override bool ProcessDialogKey(Keys keyData)
        {
            if (keyData == Keys.Enter)
            {
                return false;
            }
            else {
                return base.ProcessDialogKey(keyData);
            }
        }

之后Keydown就会响应了,在里面写自己想让enter做的事:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    switch (e.KeyCode)
    {
        ....
        case Keys.Enter:
            equal.PerformClick();
            break;
    }

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-15 08:00:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-15 08:00:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-15 08:00:05       87 阅读
  4. Python语言-面向对象

    2024-03-15 08:00:05       96 阅读

热门阅读

  1. 如果保障服务器的安全

    2024-03-15 08:00:05       39 阅读
  2. Retrofit

    Retrofit

    2024-03-15 08:00:05      30 阅读
  3. C# EPPlus导出dataset----Excel3样式

    2024-03-15 08:00:05       39 阅读
  4. HTML5、CSS3面试题(一)

    2024-03-15 08:00:05       46 阅读
  5. js 限制字数机器提示

    2024-03-15 08:00:05       36 阅读
  6. AI人工智能小程序系统开发

    2024-03-15 08:00:05       37 阅读