有没有简单的方法(包装器/字典)从Keys enum转换为SenKeys字符串?

时间:2012-04-05 20:54:48

标签: c# dictionary sendkeys

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

键。输入{ENTER}

有没有简单的方法呢?我找不到了。

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

我需要转换所有键的东西.. 如果key == Key.a,我会发送一个。但是,如果它是一个命令键(例如:Key.Enter),我需要将其设置为高位并添加{}。

2 个答案:

答案 0 :(得分:1)

可能的方法是将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())
        }

答案 1 :(得分:0)

Key.Enter.ToString().ToUpper()