代码下载,代码主要实现类似有道词典的软件设置中的自定义快捷键功能。比如:当我们相继按下Ctrl+Alt+M的时候,软件就会自动将快捷键显示在文本框中。C#实现快捷键自定义设置代码下载:------------------------------------------分割线------------------------------------------
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2015年资料/1月/2日/C#:实现快捷键自定义设置下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm------------------------------------------分割线------------------------------------------需求项目开发过程中,需要实现类似有道词典的软件设置中的自定义快捷键功能,如下图所示:当我们相继按下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#多线程编程实例 线程与窗体交互【附源码】 http://www.linuxidc.com/Linux/2014-07/104294.htmC#数学运算表达式解释器 http://www.linuxidc.com/Linux/2014-07/104289.htm在C语言中解析JSON配置文件 http://www.linuxidc.com/Linux/2014-05/101822.htm
C++ Primer Plus 第6版 中文版 清晰有书签PDF+源代码 http://www.linuxidc.com/Linux/2014-05/101227.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/111146.htm