加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:21:54 所属栏目:PHP教程 来源:网络整理
导读:《PHP实战:C# WinForm中实现快捷键自定义设置实例》要点: 本文介绍了PHP实战:C# WinForm中实现快捷键自定义设置实例,希望对您有用。如果有疑问,可以联系我们。 本文源码下载: PHP实例 项目开发过程中,必要实现类似有道词典的软件设置中的自定义快捷键

《PHP实战:C# WinForm中实现快捷键自定义设置实例》要点:
本文介绍了PHP实战:C# WinForm中实现快捷键自定义设置实例,希望对您有用。如果有疑问,可以联系我们。

本文源码下载:PHP实例

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

PHP实例

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

最终的后果如下图所示:PHP实例

PHP实例

焦点代码如下所示:PHP实例

代码如下:

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 = "";
??? }
}
PHP实例

e.KeyValue和字符的对应关系PHP实例

字符 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个核心函数.PHP实例

以下所示:
PHP实例

代码以下:

private void textBox1_KeyDown(object sender,KeyEventArgs e)
{
??? keyDown(sender,e);
}

private void textBox1_KeyUp(object sender,KeyEventArgs e)
{
??? keyUp(sender,e);
}
PHP实例


编程之家培训学院每天发布《PHP实战:C# WinForm中实现快捷键自定义设置实例》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读