[SIZE=2][/SIZE]Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.F2 Then
Dim frm As New Form1
frm.Show()
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Insert Then
Dim frm As New Form1
Me.Show()
End If
If e.KeyCode = Keys.Delete Then
Dim frm As New Form1
Me.Hide()
End If
End Sub
Mostra lá o que tens ?
Quando carrego no Delete a form desaparece (tal como pretendido) ... mas quanto tento carregar no Insert a form nao aparece ....
Qual é o código que faz isto ?
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Insert Then
Dim frm As New Form1
Me.Show()
End If
If e.KeyCode = Keys.Delete Then
Dim frm As New Form1
Me.Hide()
End If
End Sub
Tenta assim:
Código:If e.KeyCode = Keys.Insert Then Dim frm As New Form2 frm.Show() End If If e.KeyCode = Keys.Delete Then For Each frm As Form In Application.OpenForms If frm.Name = "Form2" Then frm.Close() End If Next End If
Por acaso está a trabalhar num form MDI ?
Explica um pouco o que tens ... está só a utilizar meias palavras e assim é dificil adivinhar o que queres.
Por acaso está a trabalhar num form MDI ?
Explica um pouco o que tens ... está só a utilizar meias palavras e assim é dificil adivinhar o que queres.
Quando carrego no Delete a form desaparece (tal como pretendido) ... mas quanto tento carregar no Insert a form nao aparece ....Código:Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If e.KeyCode = Keys.Insert Then Dim frm As New Form1 Me.Show() End If If e.KeyCode = Keys.Delete Then Dim frm As New Form1 Me.Hide() End If End Sub
quando carregas no insert a form nao aparece porque a form nao detecta que carregaste na tecla.. quando usas o form1_keydown ele so detecta se a janela activa for essa form..
se tiveres uma caixa de texto nessa form e se o cursor estiver nessa caixa tb nao vai ser detetada pela form_keydown. (nesse caso seria text1_keydown)
para fazeres o que queres tens de recorrer à API
Errado, excepto alguns controlos como o DataGridView o evento Form.KeyDown detecta sempre.
ainda não uso o vb2008, mas no VB6 nao detecta