当前位置: 首页 > 编程笔记 >

C# WinForm中实现快捷键自定义设置实例

柳玄裳
2023-03-14
本文向大家介绍C# WinForm中实现快捷键自定义设置实例,包括了C# WinForm中实现快捷键自定义设置实例的使用技巧和注意事项,需要的朋友参考一下

本文源码下载:http://xiazai.jb51.net/201501/tools/cs-key-setting.rar

项目开发过程中,需要实现类似有道词典的软件设置中的自定义快捷键功能,如下图所示:

当我们相继按下Ctrl+Alt+M的时候,软件就会自动将快捷键显示在文本框中。

最终的效果如下图所示:

核心代码如下所示:


private void keyDown(object sender, KeyEventArgs e)

{

    StringBuilder keyValue = new StringBuilder();

    keyValue.Length = 0;

    keyValue.Append("");

    if (e.Modifiers != 0)

    {

        if (e.Control)

            keyValue.Append("Ctrl + ");

        if (e.Alt)

            keyValue.Append("Alt + ");

        if (e.Shift)

            keyValue.Append("Shift + ");

    }

    if ((e.KeyValue >= 33 && e.KeyValue <= 40) ||

        (e.KeyValue >= 65 && e.KeyValue <= 90) ||   //a-z/A-Z

        (e.KeyValue >= 112 && e.KeyValue <= 123))   //F1-F12

    {

        keyValue.Append(e.KeyCode);

    }

    else if ((e.KeyValue >= 48 && e.KeyValue <= 57))    //0-9

    {

        keyValue.Append(e.KeyCode.ToString().Substring(1));

    }

    this.ActiveControl.Text = "";

    //设置当前活动控件的文本内容

    this.ActiveControl.Text = keyValue.ToString();

}

private void keyUp(object sender, KeyEventArgs e) {     string str = this.ActiveControl.Text.TrimEnd();     int len = str.Length;     if (len >= 1 && str.Substring(str.Length - 1) == "+")     {         this.ActiveControl.Text = "";     } }

e.KeyValue和字符的对应关系

字符 e.KeyValue
a-z|A-Z 65-90
F1-F12 112-123
0-9 48-57
PageUp 33
PageDown 34
End 35
Home 36
左(←) 37
上( ↑ ) 38
右(→) 39
下( ↓ ) 40

接着,为textbox控件分别设置_KeyDown和_KeyUp事件,并在其中调用以上2个核心函数。

如下所示:


private void textBox1_KeyDown(object sender, KeyEventArgs e)

{

    keyDown(sender, e);

}

private void textBox1_KeyUp(object sender, KeyEventArgs e) {     keyUp(sender, e); }


 类似资料:
  • 本文向大家介绍C# WinForm快捷键设置技巧,包括了C# WinForm快捷键设置技巧的使用技巧和注意事项,需要的朋友参考一下 1、Alt+*(按钮快捷键) 按钮快捷键也为最常用快捷键,其设置也故为简单。在大家给button、label、menuStrip等其他控件的Text属性指定名称时,在其后面加上‘&'然后在加上一个指定字母即可。如:确定(&D),(Alt+D)调用。 如指定多个字母,则

  • 上面是基本的操作,下面看点高效的使用:自定义快捷键 查看快捷键 菜单view里找 Command Palette项 view -> Command Palette(调色板) 对应的快捷键是shift + command + p 敲完后,输入tri 修改快捷键 但是CTRL+SPACE在我的电脑里已经占用了,所以还是需要修改一下的,见下图 打开快捷键配置 修改如下 即把 // Place your

  • 可以在 Illustrator 中使用键盘快捷键来提高工作效率。可以使用 Illustrator 中包含的默认快捷键,或添加和自定所需的快捷键。 在 Illustrator 中,可以查看所有快捷键的列表,还可以编辑或创建快捷键。键盘快捷键对话框作为快捷键编辑器,包括所有支持快捷键的命令,其中一些未在默认快捷键集中提到。 您可以定义自己的快捷键集,更改快捷键集中的个别快捷键以及在快捷键集之间切换。例

  • Photoshop 允许您查看所有快捷键的列表,并编辑或创建快捷键。“键盘快捷键”对话框充当一个快捷键编辑器,并包括所有支持快捷键的命令,其中一些是默认快捷键组中没有提到的。 注意:除了使用键盘快捷键之外,您还可以使用与现用工具、选区或面板关联的上下文相关菜单来访问许多命令。要显示上下文相关菜单,请在文档窗口或面板中单击鼠标右键。 定义新的键盘快捷键 执行下列操作之一: 选取“编辑”>“键盘快捷键

  • 本文向大家介绍c# 屏蔽快捷键的实现示例,包括了c# 屏蔽快捷键的实现示例的使用技巧和注意事项,需要的朋友参考一下 前言 有时候开发会遇到这样一个需求,软件需要屏蔽用户的组合快捷键或某些按键,避免强制退出软件,防止勿操作等。 原理 1、要实现组合键,按键拦截,需要用到user32.dll中的SetWindowsHookEx。 2、要拦截ctrl+alt+del,需要使用ntdll.dll的ZwSu

  • 使用此实用列表可参考 After Effects 的键盘快捷键,甚至可打印键盘快捷键的 PDF。您也可以使用可视键盘快捷键编辑器来自定义快捷键以及向命令分配多个快捷键。 可视键盘快捷键编辑器 当您使用可视键盘快捷键编辑器设计键盘快捷键布局时,您能够以可视方式工作。您可以使用键盘用户界面查看已分配快捷键的键和可分配的键,以及修改已分配的快捷键。 使用可视键盘快捷键编辑器 要打开编辑器,请选择“编辑”