• 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;
    }
    }

  • 相关阅读:
    Pytest学习之 autouse=True,自动调用fixture功能
    Pytest学习之xfail使用
    Pytest学习之use fixtures
    python
    python
    python
    python
    python
    python
    python
  • 原文地址:https://www.cnblogs.com/ylldbk/p/5282546.html
Copyright © 2020-2023  润新知