C# 是否有任何简单的方法(包装器/字典)将Keys enum转换为SenKeys字符串?

C# 是否有任何简单的方法(包装器/字典)将Keys enum转换为SenKeys字符串?,c#,dictionary,sendkeys,C#,Dictionary,Sendkeys,我需要将Sendkeys方法中使用的键转换为字符串。 样本: Key.Enter到{Enter} 有什么简单的方法吗?我找不到它 if (key == Key.Enter) SendKeys.SendWait({ENTER}); 我需要一个能转换所有钥匙的东西。。 如果key==key.a,我只发送a。但是,如果它是一个命令键(例如:key.Enter),我需要将其置高并添加{}。一种可能的方法是将键标准枚举数包装到包装类中,使用这种方法,您可以创建一个ToString()方法,将

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

Key.Enter到{Enter}

有什么简单的方法吗?我找不到它

 if (key == Key.Enter)
     SendKeys.SendWait({ENTER});
我需要一个能转换所有钥匙的东西。。
如果key==key.a,我只发送a。但是,如果它是一个命令键(例如:key.Enter),我需要将其置高并添加{}。

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

Key.Enter.ToString().ToUpper()
看看这个例子:

枚举包装类

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() + "}";
        }
    }
客户端(使用)


谢谢,但我需要找出它是否是所有键的命令键。如果是命令键,我可以照你说的做,但不是所有的键都能用。@Pedro77:也许我不明白你的意思。在这样的场景下,你可能想考虑自己制作一个映射库(如果你真的找不到),也可以考虑进入一个WiWOSAPI调用,只需通过键入代码而不是使用<代码> SeNekKest,并保存自己所有的麻烦。{{}不是所有键()的,但是谢谢你的建议。
  private void Form1_KeyUp(object sender, KeyEventArgs e) {
            KeyEnumWrapper wp = new KeyEnumWrapper(e.KeyCode);
            SendKeys.SendWait(wp.ToString())
        }