Csharp/C#教程:解决C#中取消方向键对控件焦点控制的实现方法分享

在C#winform应用程序中,对于键盘响应事件,经常使用到”KeyPress”、“KeyUp”、”KeyDown”事件,可以处理某个按键的自定义处理事件。有时想定义方向键的自定义处理事件时,你可以发现,虽然自定义的处理事件发生了响应,但是也可以看到,按下方向键时,发现窗体上控件的焦点也发生了切换。而这种结果不是我们想要的,我们不想按下方向键时,控件的焦点发生切换,只想响应我们自定义的处理函数即可。下面的方法可以取消方向键对控件焦点的控制
代码如下:
protectedoverrideboolProcessCmdKey(refMessagemsg,KeyskeyData)//取消方向键对控件的焦点的控件,用自己自定义的函数处理各个方向键的处理函数
       {
           switch(keyData)
           {
               caseKeys.Up:
                   UpKey();
                   returntrue;//不继续处理
               caseKeys.Down:
                   DownKey();
                   returntrue;
               caseKeys.Left:
                   LeftKey();
                   returntrue;
               caseKeys.Right:
                   RightKey();
                   returntrue;
           }
           returnbase.ProcessCmdKey(refmsg,keyData);
       }

UpKey()、DownKey()、LeftKey()、RightKey()分别是自定义的各个方向键的处理函数。在各个自定义处理函数之后使用returntrue表示对按键的响应不继续处理,直接返回,这样就可以避免了方向键对控件焦点的控制。对于其他的按键,returnbase.ProcessCmdKey(refmsg,keyData);使用默认的处理。
您可能感兴趣的文章:C#WINFORM强制让窗体获得焦点的方法代码C#,winform,ShowDialog,子窗体向父窗体传值C#设置子窗体在主窗体中居中显示解决方案C#窗体编程不显示最小化、最大化、关闭按钮的方法C#开发圆角控件(窗体)的具体实现C#实现让窗体永远在窗体最前面显示的实例用C#Winform做出全透明的磨砂玻璃窗体效果代码C#Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法c#winform关闭窗体时同时结束线程实现思路C#SkinEngine控件给窗体添加皮肤的方法C#最简单的关闭子窗体更新父窗体的实现方法C#实现让窗体获得焦点的方法示例

标签: 方法

C语言接口与实现方法实例详解

C语言位图算法详解

上述就是C#学习教程:解决C#中取消方向键对控件焦点控制的实现方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/904754.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐