zoukankan      html  css  js  c++  java
  • C#中如何判断键盘按键和组合键

    C# winform的窗体类有KeyPreview属性,可以接收窗体内控件的键盘事件注册。
    窗体和控件都有KeyDown,KeyUp,KeyPress三个事件,每个事件都会有KeyEventArgs参数传入,只要判断传入参数的KeyChar就可以了,Framework提供了Keys枚举来表示键盘上的各个键。

    核心判断的代码如下:
    1.单键判断
    if (e.KeyCode == Keys.Delete)
    {
         //处理逻辑

    2.组合建判断:  
    if (e.Modifiers.CompareTo(Keys.Control) == 0 && e.KeyCode == Keys.Delete)
    {
         //处理逻辑
    }

    3.判断上键

    if (key == Keys.Up || key == Keys.PageUp)
    {
    if (index - 2 >= 0)
    {
    this.lstQueryFilterControls[index - 2].SetInputControlFocus();
    }

    }

    4.判断上键

    if (key == Keys.Down || key == Keys.PageDown)
    {
    if (index + 2 <= this.lstQueryFilterControls.Count - 1)
    this.lstQueryFilterControls[index + 2].SetInputControlFocus();
    else
    {
    if (this.listView.Items.Count > 0)
    {
    this.listView.Focus();
    this.listView.Items[0].Selected = true;
    }
    }

    5.判断Ctrl + A

            If TextBox1.Text <> "" AndAlso (e.Modifiers.CompareTo(Keys.Control) = 0 And e.KeyCode = Keys.A) Then
                TextBox1.SelectAll()
                My.Computer.Clipboard.SetText(TextBox1.Text)
            End If
    

      

  • 相关阅读:
    unittest_assert断言(4)
    unittest_skip跳过用例执行(3)
    unittest_TestSuite测试套件(2)
    unittest_认识unittest(1)
    Selenium_POM架构(17)
    【转】HTML基本代码
    cursor 鼠标样式的几种样式
    【笔记】在json-lib中如何不序列化某些字段
    关于Ext的一些使用心得
    GIT
  • 原文地址:https://www.cnblogs.com/wzihan/p/14794635.html
Copyright © 2011-2022 走看看