整个应用程序VB .Net的Keydown事件

时间:2009-09-01 18:28:17

标签: .net vb.net winforms keydown

我想这样做,无论哪个控件都有焦点,它都会完成我的活动。因此,我不必为所有137个对象编写keydown事件。这可能吗?

由于

2 个答案:

答案 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