解决C#中取消方向键对控件焦点控制的实现方法

时间:2021-09-13 08:02:29 

在C# winform 应用程序中,对于键盘响应事件,经常使用到"KeyPress"、“KeyUp”、"KeyDown"事件,可以处理某个按键的自定义处理事件。有时想定义方向键的自定义处理事件时,你可以发现,虽然自定义的处理事件发生了响应,但是也可以看到,按下方向键时,发现窗体上控件的焦点也发生了切换。而这种结果不是我们想要的,我们不想按下方向键时,控件的焦点发生切换,只想响应我们自定义的处理函数即可。下面的方法可以取消方向键对控件焦点的控制


protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//取消方向键对控件的焦点的控件,用自己自定义的函数处理各个方向键的处理函数
        {
            switch (keyData)
            {
                case Keys.Up:
                    UpKey();
                    return true;//不继续处理
                case Keys.Down:
                    DownKey();
                    return true;
                case Keys.Left:
                    LeftKey();
                    return true;
                case Keys.Right:
                    RightKey();
                    return true;
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }


UpKey()、DownKey()、LeftKey()、RightKey()分别是自定义的各个方向键的处理函数。在各个自定义处理函数之后使用return true 表示对按键的响应不继续处理,直接返回,这样就可以避免了方向键对控件焦点的控制。对于其他的按键,return base.ProcessCmdKey(ref msg, keyData);使用默认的处理。

标签:c#,方向键,焦点控制
0
投稿

猜你喜欢

  • spring异步service中处理线程数限制详解

    2021-09-02 23:20:12
  • C#使用DoddleReport快速生成报表

    2022-05-31 06:39:59
  • java求余的技巧汇总

    2023-08-06 06:33:16
  • Unity实现切割图集工具

    2021-07-03 23:14:57
  • SpringBoot启动自动终止也不报错的原因及解决

    2023-01-16 02:15:40
  • webBrowser执行js的方法,并返回值,c#后台取值的实现

    2023-12-07 13:29:13
  • 使用Flutter实现一个走马灯布局的示例代码

    2023-06-19 03:50:03
  • Java程序员新手老手常用的八大开发工具

    2021-12-04 03:39:04
  • Java中Maven项目导出jar包配置的示例代码

    2023-01-26 20:09:32
  • Java实现简单图书借阅系统

    2023-11-22 01:09:02
  • Unity实战之FlyPin(见缝插针)小游戏的实现

    2022-05-21 19:46:31
  • java实现将结果集封装到List中的方法

    2021-10-27 22:29:45
  • 在Spring使用iBatis及配置讲解

    2021-07-06 20:07:39
  • Java多线程死锁示例

    2022-09-17 15:05:25
  • Java进阶必备之多线程编程

    2023-12-17 04:24:51
  • 图文详解Java中的字节输入与输出流

    2022-12-23 23:14:48
  • java中@SuppressWarnings注解用法详解

    2023-09-20 23:11:40
  • 使用C++ Matlab中的lp2lp函数教程详解

    2023-07-13 17:13:12
  • Java中常用缓存Cache机制的实现

    2023-05-27 23:32:22
  • Java实现批量下载选中文件功能

    2021-09-09 17:57:45
  • asp之家 软件编程 m.aspxhome.com