我想这样做,无论哪个控件都有焦点,它都会完成我的活动。因此,我不必为所有137个对象编写keydown事件。这可能吗?
由于
答案 0 :(得分:4)
您必须将表单的 KeyPreview 属性设置为 True 。
当此属性设置为true时, 表单将收到所有KeyPress, KeyDown和KeyUp事件。
答案 1 :(得分:1)
我不是专家,但我相信这是可能的。我已经完成了之前我有一个事件处理程序处理多个按钮按下,然后根据哪个按钮有焦点做一些不同的事情。
代码是这样的:
For Each ctl in Me.Controls
If ctl.Type is <whatever type of control you want to handle> And ctl.Isfocused Then
Do whatever
End If
Next
你不必担心这种类似的递归。
如果您希望每个控件都执行相同的操作,那么无论哪个控件都有焦点,都会更容易。
Private Sub keypresshandle (System arguments ignore this) Handles key1.press, key2.press etc .... key10000.press
do some stuff here
End Sub