宝哥软件园

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

编辑:宝哥软件园 来源:互联网 时间:2021-10-14

本文源码下载:http://夏仔。JB 51。net/201501/tools/cs-按键设置。rar

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

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

最终的效果如下图所示:

核心代码如下所示:

复制代码代码如下:private void keyDown(对象发送方,KeyEventArgs e){ StringBuilder key value=new StringBuilder();键值.长度=0;键值.追加("");如果(e。修饰符!=0) { if (e.Control)键值。追加(“Ctrl”);如果(替代)键值。追加(' Alt ');如果(例如班次)键值。追加(“Shift”);} if((e . key value=33 e . key value=40)| |(e . key value=65 e . key value=90)| |//A-Z/A-Z(e . key value=112 e . key value=123))//F1-F12 { key value .追加(如键码);} else if((e . KeyValue=48 e . KeyValue=57))//0-9 { KeyValue .追加(例如键码。ToString().子串(1));}这个。活动控件。文本=' ';//设置当前活动控件的文本内容这个。控件。文本=键值. ToString();}

私有void keyUp(对象发送者,KeyEventArgs e){ string str=this .ActiveControl。文字。trimend();int len=str .长度;if (len=1个字符串。子字符串长度-1)=' '){这个.活动控件。文本=' ';}}

e.键值和字符的对应关系

字符e .键值A-Z | A-Z 65-90 F1-F12 112-123 0-9 48-57向上翻页33向下翻页34结束35主页36左() 37 上() 38 右() 39 下() 40 接着,为文本框控件分别设置_KeyDown和_KeyUp事件,并在其中调用以上2个核心函数。

如下所示:复制代码代码如下:私有void textbox 1 _ KeyDown(对象发送方,KeyEventArgs e){ keyDown(发送方,e);}

私有void textBox1_KeyUp(对象发送方,KeyEventArgs e){ keyUp(发送方,e);}

更多资讯
游戏推荐
更多+