2

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

Key.Enter 到 {ENTER}

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

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

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

4

2 回答 2

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())
        }
于 2012-04-05T21:56:10.400 回答
0
Key.Enter.ToString().ToUpper()
于 2012-04-05T20:58:52.170 回答