Set
KeyPreview=True for your form, so that key pressed over any controls gets to the Form1_KeyPress.
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Control And e.KeyCode = Keys.P Then
CrystalReportViewer1.PrintReport()
End If
End Sub