2012-04-25 70 views
1

我想用一個變量使用System.Windows.Forms.Keys例如如何在System.Windows.Forms.Keys中使用變量?

shortcutkey = "A" 
keydata = System.Windows.Forms.Keys.shortcutkey 

這可能嗎?

這個想法是實現用戶指定執行某些操作的自定義快捷方式。

我的代碼是這樣的

 If (((BindingFunctions.IsKeyDown(Keys.ControlKey) AndAlso BindingFunctions.IsKeyDown(Keys.ShiftKey)) AndAlso BindingFunctions.IsKeyDown(keyData)) AndAlso (keyData = Keys.L)) Then 
      CC.LC() 
     End If 

在這裏,我給KEYDATA = Keys.L直接。取而代之的是,我想用一個變量來做到像

 mykeydata = "L" 
     If (((BindingFunctions.IsKeyDown(Keys.ControlKey) AndAlso BindingFunctions.IsKeyDown(Keys.ShiftKey)) AndAlso BindingFunctions.IsKeyDown(keyData)) AndAlso (keyData = Keys.mykeydata)) Then 
      CC.LC() 
     End If 

回答

2
Dim shortcutkey As String = "A" 
Dim keyData As Keys 

If [Enum].TryParse(Of Keys)(shortcutkey, keyData) Then 
    ' keyData is now Keys.A 
End If 
+0

你可以給VB版。我對此很新。 – Ian 2012-04-25 01:30:12

+0

對不起,我完全跳過了標籤。我會稍微更新一下。 – 2012-04-25 01:30:47

+0

它在那裏,VB-ified。 – 2012-04-25 01:33:53