• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Caya

Abrir form ao pressionar tecla

10 mensagens neste tópico

Olá,

alguém sabe como se abre um form ao pressionar, por exemplo F1, e depois quando soltar fecha-se a form?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é Possivel, eu usei codigo de vb6, tens de adaptar para vb.net...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

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