/// 快捷键相关的类 /// public static class HotKeyInfo { /// /// 根据KeyEventArgs生成组合键字符串 /// /// /// 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(); } } /// /// 根据按键获得单一键值对应字符串 /// /// /// 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(); } } /// /// 根据string生成KeyEventArgs /// /// /// 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; } }
以上就是c# 根据keyeventargs与组合键字符串相互转换的内容,更多相关内容请关注创想鸟(www.php.cn)!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432251.html
微信扫一扫
支付宝扫一扫