C# 依据KeyEventArgs与组合键字符串相互转换

   /// 快捷键相关的类/// </summary>public static class HotKeyInfo{/// <summary>/// 依据KeyEventArgs生成组合键字符串/// </summary>/// <param name="e"></param>/// <returns></returns>public static string GetStringByKey(KeyEventArgs e){if (e.KeyValue == 16){return "Shift + ";}else if(e.KeyValue == 17){ return "Ctrl + ";}else if(e.KeyValue == 18){return "Alt + ";}else{StringBuilder keyValue = new StringBuilder();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 >= 48 && e.KeyValue <= 57))    //0-9{keyValue.Append(e.KeyCode.ToString());//keyValue.Append(e.KeyCode.ToString().Substring(1));}else{keyValue.Append(e.KeyCode);}return keyValue.ToString();}}/// <summary>///  依据按键获得单一键值相应字符串/// </summary>/// <param name="e"></param>/// <returns></returns>public static string GetSingleStrByKey(KeyEventArgs e){if (e.KeyValue == 16){return "Shift";}else if (e.KeyValue == 17){return "Ctrl";}else if (e.KeyValue == 18){return "Alt";}else{return e.KeyCode.ToString();}}/// <summary>/// 依据string生成KeyEventArgs/// </summary>/// <param name="strKey"></param>/// <returns></returns>public static KeyEventArgs GetKeyByString(string strKey){Keys keyResult = new Keys();string[] strKeyCodes = strKey.Split('+');if (strKeyCodes.Length > 0){int numberKey;foreach (string keyEach in strKeyCodes){if (keyEach.Trim().ToUpper() == "CTRL"){keyResult = keyResult | Keys.Control;}else if (keyEach.Trim().ToUpper() == "SHIFT"){keyResult = keyResult | Keys.Shift;}else if (keyEach.Trim().ToUpper() == "ALT"){keyResult = keyResult | Keys.Alt;}//数字else if (int.TryParse(keyEach, out numberKey)){KeysConverter converter = new KeysConverter();Keys getKey = (Keys)converter.ConvertFromString('D' + keyEach);keyResult = keyResult | getKey;}//其它(字母,F0-F12)else{KeysConverter converter = new KeysConverter();Keys getKey = (Keys)converter.ConvertFromString(keyEach);keyResult = keyResult | getKey;}}}KeyEventArgs newEventArgs = new KeyEventArgs(keyResult);return newEventArgs;}}

转载于:https://www.cnblogs.com/liguangsunls/p/7010866.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lpc2000 filash utility 程序烧写工具_单片机烧录程序的次数

单片机是可编程器件&#xff0c;开发者把程序写好、编译完之后&#xff0c;需要烧录到单片机中&#xff0c;单片机才能按照开发者的逻辑去执行。在这个烧录的过程中需要用到专用的烧录工具。比如51单片机的USB/TTL、STM单片机的STlink等。使用过单片机开发板的同学都清楚&#…

工作总结21:阅读代码之axios

/*基础接口请求地址*/ const apiBaseUrl "http://xxxxxxxx";/*创建instance实例*/ const service axios.create({baseURL: apiBaseUrl,timeout: 10000 }); 读懂该接口 这边是设置的基础url

工作总结22:拦截器

//设置拦截器 拦截 // request interceptor service.interceptors.request.use(config > {const token Vue.ls.get(ACCESS_TOKEN);// if (token) {// config.headers["X-Access-Token"] token; // 让每个请求携带自定义 token 请根据实际情况自行修改// }retu…

ug建模文本怎么竖着_入门到成为UG编程高手,这些步骤你不得不了解

入门到成为UG编程高手&#xff0c;这些步骤你不得不了解加工中心是数控设备的一种&#xff0c;日常的作业离不开数控加工&#xff0c;编程是要害。我们常见的编程软件有不少&#xff0c;mastercam、cimatron、ug、powermill、hypermill等等许多不同的软件&#xff0c;不同的编程…

工作23:vue---封装request做数据请求

import axios from axios// 创建一个axios实例 const service axios.create({// headers: {// content-type: application/json;charsetUTF-8,// token: one // },baseURL: http://dianphp.fyz.com,withCredentials: true,timeout: 5000 })// 添加请求拦截器 service.inte…

华为手机记事本导出_深夜浅谈怎样用一部手机做电影解说?

小编从兴趣而至&#xff0c;到开始做第一部电影解说已经过去半个月了&#xff0c;作品也发布了三部&#xff0c;全程没用过一次电脑&#xff0c;自己之前也没接触过专业的软件&#xff0c;什么PR&#xff0c;AU之类的一概不懂&#xff0c;全程一部手机&#xff0c;只用剪映&…

MySQL多项模糊查询

最近有个需求&#xff0c;就是要根据搜索框里面的关键字&#xff0c;找到符合条件的数据。 如果是单个条件的话&#xff0c;其实就是一个普通的select语句。 但是需求是这个关键字&#xff0c;要在id&#xff0c;desc&#xff0c;step等多个字段模糊查找。 然后最直观的一个思路…

工作24:封装请求

import { axios } from "./axios";export { axios };export function httpAction(url, parameter, method) {return axios({url: url,method: method,data: parameter}); } /*封装系统需要的post请求 第一个参数传入url地址 第二个传入数据参数*/ export function po…

保存的图数据丢失_锡柴自主刷写和备份共享数据文件使用介绍

刷写功能锡柴自主 ECU刷写可以恢复损坏的数据或是新ECU刷上相应车型的数据注意事项确认车辆电瓶电量充足&#xff0c;平板电脑电量充足。发动机不启动。车辆处于刹车状态。建议使用USB线进行刷写可以提高刷写速度。部分车上其它系统对刷写有影响&#xff0c;可拆下来在车下接线…

设置MySQL自动增长从某个指定的数开始

设置一个自增字段&#xff0c;必须为primary key。 设置uid以1001开始自增长。 CREATE TABLE user (uid int(11) NOT NULL PRIMARY KEY,username varchar(20) DEFAULT NULL,password varchar(40) DEFAULT NULL,email varchar(20) DEFAULT NULL,phone varchar(15) DEFAULT NULL,…

用户思维模型,围绕用户核心四大模块,拉新、养熟、成交、裂变循环的效果...

用户思维模型&#xff0c;围绕用户核心四大模块&#xff0c;拉新、养熟、成交、裂变循环的效果 用户思维模型1、拉新越勾引人的诱惑设计&#xff0c;借力软文、好友、大V、媒体等推广的方法来获得源源不断高质量的粉丝&#xff0c;给予别人有价值的东西才能心甘情愿的成为你的粉…

德标螺纹规格对照表_抚顺船用外螺纹铜减压阀带NK船检证书

抚顺船用外螺纹铜减压阀带NK船检证书产品详情&#xff1a;品牌&#xff1a;“上海上循”牌(上海上循船用阀门制造有限公司)具体产品型号及详情&#xff0c;请致电咨询&#xff01;(V同号)QQ&#xff1a;1633370867材质&#xff1a;铸铁&#xff0c;铸钢&#xff0c;不锈钢&…

工作27:组件封装

<!--封装部门选择的插件 需要的组件--> <template><el-select :value"value" placeholder"请选择所属栏目" change"handleChange"><!--注意用户的返回值--><el-option v-for"value in column" :label&quo…

codeblocks如何导入项目_T3如何利用系统工具导入导出复制存货档案

问题现象&#xff1a;如何把旧账的存货档案复制到新建一个公司帐&#xff0c;如何在系统工具中操作&#xff1f;解决方案&#xff1a;1、点击电脑左下角“开始”-“程序”-“T3系列管理软件”-“T3”-“系统工具”&#xff0c;在此注册控制台界面输入(用户名、密码、选择帐套、…

2017-06-19 (cp mkdir rm 运行级别及修改)

mkdir 用于创建目录 mkdir -p 递归创建目录 mkdir -p /linux/linux rm 用于删除文件与目录 rm -r 删除目录 -f 强制删除 &#xff08;一般情况下 rf 组合使用&#xff09; cp 用于复制文件或者目录 cp [选项] [原文件或者目录] [目标目录] cp -r 复制目录 -p 连带…

用户画像标签维度_一文看懂用户画像标签体系(包括维度、应用场景)

一文看懂用户画像标签体系(包括维度、应用场景)互联网相关企业在建立用户画像时一般除了基于用户维度(userid)建立一套用户标签体系外&#xff0c;还会基于用户使用设备维度(cookieid)建立相应的标签体系。基于cookieid维度的标签应用也很容易理解&#xff0c;当用户没有登录账…

工作30:加入git版本库

一串数字 bZGFiPIcQcltYztADgtvKEwAAAMEA3XeWLcbePU/ZRbfi gg5r1zHNogOpCELajxUu3LV9