首页 > 作文

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

更新时间:2023-04-06 20:14:42 阅读: 评论:0

本文源码下载:

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

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

最终的效果如下图所示:

核心代码如下所示:

复制代码 代码如下:

private void keydown(object nder, 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);

}

els直接现实性e 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 nder, 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.keyvaluea-z|a-z65-90f1-f12112-1230-948-57pageup33pagedown34end35h指导手ome36左(←)37上(↑)38右(→)39下(↓)40

接着,为textbox控件分别设置_keydown和_keyup事件,并在其中调用以上2个核心函数。

如下所示:

复制代码 代码如下:

private void textbox1_keydown(object nder, keyeventargs宏伟的近义词 e)

{

keydown(nder, e);

}

private void textbox1_keyup(object nder, keyeventargs e)
{
keyup(nder, e);
}

本文发布于:2023-04-06 20:14:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/8cc2f6e16084eb7730e7133005ae677f.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:C# WinForm中实现快捷键自定义设置实例.doc

本文 PDF 下载地址:C# WinForm中实现快捷键自定义设置实例.pdf

标签:所示   代码   快捷键   控件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图