• 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
    

      

  • 相关阅读:
    SQL数据库inner join ,join,left join,full join(转)
    CSRF攻击(转)
    BZOJ1853: [Scoi2010]幸运数字
    BZOJ1935: [Shoi2007]Tree 园丁的烦恼
    BZOJ3289Mato的文件管理
    树状数组
    莫队算法
    如何在win上用Linux编c++
    Hash的应用
    关于指数循环节的证明
  • 原文地址:https://www.cnblogs.com/wzihan/p/14794635.html
Copyright © 2020-2023  润新知