手机
当前位置:查字典教程网 >编程开发 >C#教程 >解决C#中取消方向键对控件焦点控制的实现方法
解决C#中取消方向键对控件焦点控制的实现方法
摘要:在C#winform应用程序中,对于键盘响应事件,经常使用到"KeyPress"、“KeyUp”、"KeyDown"事件,可以处理某个按键的...

在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#中取消方向键对控件焦点控制的实现方法】相关文章:

C# 如何在MVC3中取消备用控制器的选择

C#中控制远程计算机的服务的方法

C#中fixed关键字的作用总结

C#图片压缩的实现方法

两路归并的数组与链表的实现方法

使用Http Head方法获取文件长度的实现方法详解

关于C#生成MongoDB中ObjectId的实现方法

C# 邮件发送和接收实现代码

C# 屏蔽关键字的实现方法

使用C#开发Socket通讯的方法

精品推荐
分类导航