vb.net Keydown event on whole form

前端 未结 2 2193
耶瑟儿~
耶瑟儿~ 2020-12-09 11:34

I have a form with several controls. I want to run a specific sub on keydown event regardless any controls event. I mean if user press Ctrl+S anywhere on form it execute a s

2条回答
  •  我在风中等你
    2020-12-09 12:19

    I've used this code in my forms before and it seems to work pretty good.

    Protected Overrides Function ProcessKeyPreview(ByRef m As System.Windows.Forms.Message) As Boolean
        If m.Msg = &H100 Then  'WM_KEYDOWN
            Dim key As Keys = m.WParam
            If key = Keys.S And My.Computer.Keyboard.CtrlKeyDown Then 
                 'DO stuff
                 Return True
            End If
        End If
    
        Return MyBase.ProcessKeyPreview(m)
     End Function
    

提交回复
热议问题