如何在桌面vb.net应用程序中用ctrl + P替换打印按钮

时间:2019-07-15 01:20:22

标签: vb.net

我有带有许多控件的桌面应用程序。其中一个控件是一个用于打印的按钮...它工作正常,可以打印表格的选定区域。我要删除打印按钮,然后按Control + p运行现有的打印代码。

我应该已经解释说,打印按钮和代码位于具有许多控件的大型用户控件上,并且正如您所指出的,容器上的容器控件存在问题...表格>> TabControl >> TabPage> >用户控制。

答案很有帮助,但重点是您所说的。

Private Sub PKey_KeyDown(sender As Object, e As KeyEventArgs) Handles    MyBase.KeyDown
  If e.Control And e.KeyCode = Keys.P Then
     MsgBox("This works fine...Ctrl + P were pressed")
  End If
End Sub

使用上面的代码可以在一个简单的两个或三个控件应用程序上工作,但是到目前为止,当我在许多控件应用程序上按Ctrl + P时,什么都没有发生。

1 个答案:

答案 0 :(得分:0)

您需要执行几个步骤:

  1. 将Button的Click事件中的代码移到其自己的子例程中。
  2. 将表单的KeyPreview属性设置为True
  3. 在窗体的KeyDown事件中,使用以下代码:

代码:

Private Sub MyForm_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
    If e.Control AndAlso e.KeyCode = Keys.P Then
        'Run print subroutine
    End If
End Sub