Ir para o conteúdo
Caya

Abrir form ao pressionar tecla

Mensagens Recomendadas

asworm    1
asworm

existem as funções key_down e key_up...

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
if keycode= "codigo da tecla pretendida"then
  novoform.show
endif
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
if keycode= "codigo da tecla pretendida"then
  novoform.hide ou unload(novoform)
endif
End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
anolsi    16
anolsi

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.F12 Then
            Form2.show()
            Me.Focus()
        End If
    End Sub

    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
        If e.KeyCode = Keys.F12 Then
             Form2.hide()
        End If
    End Sub

É isto que queres?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
asworm    1
asworm

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.F12 Then
            Form2.show()
            Me.Focus()
        End If
    End Sub

    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
        If e.KeyCode = Keys.F12 Then
             Form2.hide()
        End If
    End Sub

É isto que queres?

Possivel, visto que o meu código de vb6 não funcionou...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Caya    0
Caya

Agora dá, o problema é que o form tem mais coisas, incluindo um webbrowser e está sempre a perder o focus e assim isso não funciona  :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ziwdon    0
Ziwdon

Agora dá, o problema é que o form tem mais coisas, incluindo um webbrowser e está sempre a perder o focus e assim isso não funciona  :P

Se tirares o Me.Focus() deve funcionar.

Edit: Mas não te esqueças que assim tens de criar um evento para Key_Up na Form2. Basta copiares o procedimento Form1_KeyUp para a Form2.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Ziwdon    0
Ziwdon

Sim, eu já tinha feito isso, mas o problema é que na form1 o keydown não funciona porque a form nunca tem focus...

Como assim? A form só perde o focus quando abres a form2, logo é depois de o evento key_down ocorrer.

O que não ocorre é o key_up, exactamente por a form já nao ter focus, e é por isso que tens de por o evento key_up na form2 e nao na form1, uma vez que é a form2 que tem o focus.

Ainda assim, pela via das duvidas, podes por em ambas o evento key_up, daí eu ter dito que é so fazer copy/paste.

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade