zoukankan      html  css  js  c++  java
  • 关于捕获键盘信息的processDialogkey方法2--具体应用

    自定义控件里的keydown方法无法捕获所有的按键消息的处理方法1(自定义控件里的keydown方法无法获取的键值如上下左右键等)

    处理办法具体如下:

    1、首先在自定义控件UserControl1中重写ProcessDialogKey方法

     自定义控件UserControl1中重写ProcessDialogKey方法代码如下:       

      protected override bool ProcessDialogKey(Keys keyData)
            {
                if (keyData == Keys.Space || keyData == Keys.Up 
                    || keyData == Keys.Down || keyData == Keys.Left 
                    || keyData == Keys.Right) 
                {
                    MessageBox.Show(keyData.ToString(), "提示");
                    //SendKeys.Send(keyData.ToString());
                    return false;
                }
                return base.ProcessDialogKey(keyData);
            }

    这时自定义控件里的keydown事件里面就可以获得上下左右键了

    代码如下:

     private void UserControl1_KeyDown(object sender, KeyEventArgs e)
            {
                MessageBox.Show("提示11111111", e.KeyCode.ToString() + e.KeyData.ToString() + e.KeyData.ToString());
            }

    2、如果新建窗体TestForm添加自定义控件UserControl1,想在窗体中响应TestForm窗体的TestForm_KeyDown事件,那又该怎么办呢???

    继续往下看,步骤3中设置TestForm窗体的KeyPreview的属性为true属性即可

    3、设置TestForm窗体的KeyPreview的属性为true(这个至关重要!!!)

    然后TestForm窗体的TestForm_KeyDown事件就可以获取键值了

    代码如下

           private void TestForm_KeyDown(object sender, KeyEventArgs e)
            {
                MessageBox.Show("提示", e.KeyCode.ToString());
            }

  • 相关阅读:
    LPTHW 笨办法学python 20章
    LPTHW 笨方法学python 19章
    LPTHW 笨方法学python 18章
    LPTHW 笨方法学习python 16章
    hadoop删除节点。
    url中的百分号转译
    thrift编译安装
    python学习:函数的学习
    jsp静态导入和动态导入 笔记
    简要描述cookie和session的区别:
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/5580798.html
Copyright © 2011-2022 走看看