有没有简单的方法(包装器/字典)从密钥枚举转换为 SenKeys 字符串

本文关键字:枚举 密钥 转换 字符串 SenKeys 字典 方法 简单 包装 有没有 | 更新日期: 2023-09-27 18:30:24

我需要从密钥转换为Sendkeys方法中使用的字符串。样本:

键.输入到 {ENTER}

有什么简单的方法可以做到这一点吗?我找不到它。

 if (key == Key.Enter)
     SendKeys.SendWait({ENTER});

我需要转换所有密钥..如果密钥 == Key.a,我将发送 a。但是,如果它是一个命令键(例如:Key.Enter),我需要将其设置为上方并添加{}。

有没有简单的方法(包装器/字典)从密钥枚举转换为 SenKeys 字符串

一种可能的方法是将Key标准枚举器包装到包装类中,使用此方法可以创建一个将枚举器值转换为字符串的ToString()方法。

看看这个例子:

枚举包装器类

class KeyEnumWrapper {
        public System.Windows.Forms.Keys key { get; set; }
        public KeyEnumWrapper(System.Windows.Forms.Keys key) {
            this.key = key;
        }
        public string ToString() {
            return "{" + key.ToString().ToUpper() + "}";
        }
    }

客户端(使用情况)

  private void Form1_KeyUp(object sender, KeyEventArgs e) {
            KeyEnumWrapper wp = new KeyEnumWrapper(e.KeyCode);
            SendKeys.SendWait(wp.ToString())
        }
Key.Enter.ToString().ToUpper()