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

前端之家收集整理的这篇文章主要介绍了C# WinForm中实现快捷键自定义设置实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文源码下载:

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

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

最终的效果如下图所示:

核心代码如下所示:

代码如下:
= 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和字符的对应关系

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

如下所示:

代码如下:
Box1_KeyDown(object sender,KeyEventArgs e) { keyDown(sender,e); }

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

猜你在找的PHP相关文章