时时商务社区
标题:
C# WinForm中实现快捷键自定义设置实例
[打印本页]
作者:
网络通达
时间:
2018-2-14 05:50
本文源码下载:
http://xiazai.jb51.net/201501/tools/cs-key-setting.rar
项目开发过程中,需要实现类似有道词典的软件设置中的自定义快捷键功能,如下图所示:
当我们相继按下Ctrl+Alt+M的时候,软件就会自动将快捷键显示在文本框中。
最终的效果如下图所示:
核心代码如下所示:
[U]复制代码[/U] 代码如下:
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 = 65 && e.KeyValue = 112 && e.KeyValue = 48 && e.KeyValue
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个核心函数。
如下所示:
[U]复制代码[/U] 代码如下:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
keyDown(sender, e);
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
keyUp(sender, e);
}
您可能感兴趣的文章:
c#中设置快捷键
javascript onkeydown实现键盘快捷键控制页面
CS 1.5 键盘基本操作快捷键
JavaScript 快捷键设置实现代码
js keycode快捷键大全 并附有简单使用说明
cmd 命令行下复制、粘贴的快捷键
android开发中常用的Eclipse快捷键详细整理
java,Android:在eclipse中的快捷键(经典收藏)
在Winform和WPF中注册全局快捷键实现思路及代码
WinForm中快捷键与组合按键的设置方法
C#实现快捷键的几种常用方法汇总
winform绑定快捷键的方法
C# WinForm快捷键设置技巧
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2