zoukankan      html  css  js  c++  java
  • C#开发实例 键盘篇

    键盘的操作控制:

      键盘和鼠标一样是重要输入设备的一部分。开发过程中,会涉及到很多的键盘操作控制。

    2.1获取键盘信息

    ①获取组合键

    Windows中有很多默认的组合键,如Ctrl+v,Ctrl+A。本例实现了获取TextBox中组合键的功能,用到KeyEventArgs类中的KeyCode属性,KeyCode属性用来获取KeyUp,KeyDown事件

    1         private void textBox_KeyDown(object sender, KeyEventArgs e)
    2         {
    3             if ((e.Control == true) && (e.KeyCode == Keys.A))
    4                 MessageBox.Show("您按下了Ctrl+A");
    5         }

    ②获取功能键

    功能键包括F1,F2,空格键等,获取功能键

    1         private void textBox_KeyDown(object sender, KeyEventArgs e)
    2         {
    3             if (e.KeyCode == Keys.F1)
    4                 MessageBox.Show("您按下了F1","提示",MessageBoxButtons.RetryCancel);//显示重试按钮
    5         }

    ③判断Caps lock是否锁定

    用户在使用键盘输入的时候,可以对有些按键进行锁定,如Numlock,CapsLock。主要用到的API函数为GetKeyState 需要手动引入方法所在的类库。

    1         [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "GetKeyState")]
    2         public static extern int GetKeyState(int intkey);//intkey:虚拟键键码

    主要代码:

     1         private void button1_Click(object sender, EventArgs e)
     2         {
     3             string strCheak = "判断CapsLock是否锁定
    ";
     4             int intCapsLock = GetKeyState(20);
     5 
     6             if (intCapsLock == 0)
     7                 strCheak += "CapsLock未锁定
    ";
     8             else
     9                 strCheak += "CapsLock锁定
    ";
    10             MessageBox.Show(strCheak, "判断是否锁定");
    11         }

    ④将回车映射成Tab键

    在用户登录界面,很多时候用户输入完用户名,按下enter键可以直接切换鼠标焦点,进入输入密码的文本框。本例主要用到KeyEventArgs类中的KeyValue和SendKeys类的Send方法。 

    1         private void textBox1_KeyDown(object sender, KeyEventArgs e)
    2         {
    3             if (e.KeyValue == 13)
    4             {
    5                 SendKeys.Send("{TAB}");
    6             }
    7         }

    2.2键盘热键设置

    ①屏蔽Alt+F4组合键关闭窗口

    在程序使用过程中,有时候希望屏蔽Alt+F4键关闭窗口,主要用到的是KeyEventArgs类中的Alt属性,KeyValue属性,和Handled属性,Alt和Handled属性都为bool型。

    1         private void Frm_KeyDown(object sender, KeyEventArgs e)
    2         {
    3             if (e.Alt && e.KeyValue == 115)
    4                 e.Handled = true;
    5         }

    ②按Esc关闭窗口

    程序使用过程中,为了方便操作,通过Esc键退出窗口。主要用到的是Application类的Exit方法。

            private void Frm_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyData == Keys.Escape) { 
                    MessageBox.Show("关闭窗口");
                    Application.Exit();                
                }
            }

    2.3键盘操作在实际中的应用

  • 相关阅读:
    Python爬虫入门教程 15-100 石家庄政民互动数据爬取
    mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
    python cx_Oracle 自动重连
    oracle删除日志文件
    oracle删除日志文件
    oracle删除日志文件
    oracle删除日志文件
    git 常用操作总结
    git 常用操作总结
    git 常用操作总结
  • 原文地址:https://www.cnblogs.com/SeekHit/p/5133781.html
Copyright © 2011-2022 走看看