winform判断快捷键

winform判断快捷键

 

 

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

 

posted @ 2022-03-23 13:25  bingxingc  阅读(233)  评论(0编辑  收藏  举报