Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 调用类时,如何使用变量作为类成员而不是提供的默认属性?_Visual Studio 2010 - Fatal编程技术网

Visual studio 2010 调用类时,如何使用变量作为类成员而不是提供的默认属性?

Visual studio 2010 调用类时,如何使用变量作为类成员而不是提供的默认属性?,visual-studio-2010,Visual Studio 2010,首先,如果问题的描述过于含糊或使用不恰当的行话,我真诚地道歉 简单地说,当窗口处于非活动状态时,我使用键盘挂钩来识别按键输入。按下的键被放入文本框中。我想将键值设置为文本框中的任何值: 例如,如果我按“1”,文本框值将设置为D1,相应的unicode值将分配给不同的变量。如果我按“Q”,文本框值将设置为“Q”,并将相应的unicode值分配给另一个变量 假设textbox1的值为“f1” 然后将其赋值为“123”,因为f1键的值为123 因此,当按下f1键时,我希望它执行如下代码的特定部分:

首先,如果问题的描述过于含糊或使用不恰当的行话,我真诚地道歉

简单地说,当窗口处于非活动状态时,我使用键盘挂钩来识别按键输入。按下的键被放入文本框中。我想将键值设置为文本框中的任何值:

例如,如果我按“1”,文本框值将设置为D1,相应的unicode值将分配给不同的变量。如果我按“Q”,文本框值将设置为“Q”,并将相应的unicode值分配给另一个变量

假设textbox1的值为“f1”

然后将其赋值为“123”,因为f1键的值为123

因此,当按下f1键时,我希望它执行如下代码的特定部分:

myhotkey = keys.f1 'Assigns a value of "123" to myhotkey
If e.KeyCode = MyHotKey1 Then 'If the key "f1" aka "123" is pressed then
dosomeaction()
Select case hotkey1    
Case is = "d1"    
myhotkey1 = keys.D1    'Sets the value of myhotkey1 to 49
Case is = "d2"    
myhotkey1 = keys.D2    'Sets the value of myhotkey1 to 50
Case is = "f1"    
myhotkey1 = keys.F1    'Sets the value of myhotkey1 to 123
Case is = "decimal"    
myhotkey1 = keys.Decimal    'Sets the value of myhotkey1 to 110
为了让程序根据输入的热键执行代码的某一部分,我现在让它指定一个myhotkey值,如下所示:

myhotkey = keys.f1 'Assigns a value of "123" to myhotkey
If e.KeyCode = MyHotKey1 Then 'If the key "f1" aka "123" is pressed then
dosomeaction()
Select case hotkey1    
Case is = "d1"    
myhotkey1 = keys.D1    'Sets the value of myhotkey1 to 49
Case is = "d2"    
myhotkey1 = keys.D2    'Sets the value of myhotkey1 to 50
Case is = "f1"    
myhotkey1 = keys.F1    'Sets the value of myhotkey1 to 123
Case is = "decimal"    
myhotkey1 = keys.Decimal    'Sets the value of myhotkey1 to 110
我如何为键分配一个动态值,而不必检查user32库中的每一次击键可能性?当你叫钥匙的时候,它将显示一个参数列表,其中包含所有可用的击键及其对应的值

作为一个例子,我想完成以下几点。显然,这部分代码不起作用,但如果语法正确,我希望它能以同样的方式工作:

myhotkey1 = keys.(text1.text)  

与其使用文本框来保存值,不如将其仅用于显示。立即存储您的键值。无论如何,您是如何设置文本框值的?文本框值由keyboardhook模块的keyup事件分配。Private Sub kbHook_KeyUp(ByVal Key As System.Windows.Forms.Keys)处理kbHook.KeyUp Me.ActiveControl.Text=Key.ToString End Sub,就像这样。您应该将其编辑到您的问题中,而不是在评论中发布。但是我可以告诉你,代码是你应该设置变量的地方,我设置变量的地方与我要完成的任务没有任何关系。我知道该值当前被不正确地存储在文本框中。当被调用时,它将以任何方式包含相同的值;我想我完全误解了你的问题。我以为你在寻找一种方法来避免巨大的
select
。很抱歉。祝你好运