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

Sir Pereira

[RESOLVIDO] [VB.NET] KeyPress

11 mensagens neste tópico

Boas pessoal,

gostava de saber por exemplo, tipo se eu tiver o programa em execução e carregar Alt+F4 não acontece nada, ou se carregar Ctrl + Alt + Del, ou qualquer tecla possível para sair do programa. E queria saber também como fazer, por exemplo, seguindo a lógica do exemplo anterior, o utilizador só sairia do programa se escrevesse no Form (sem qualquer campo seleccionado), não sei se me fiz entender, tipo como metem truques no GTA por exemplo :D o utilizador escrevia uma palavra à minha escolha e assim sim sairia do programa... :hmm:

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fonte: http://www.neowin.net/forum/index.php?showtopic=562480&pid=588576932&st=0&#entry588576932

Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean

        Select Case (keyData)
            Case Keys.Control
                MessageBox.Show("Control Key pressed")
                Return True
            Case Keys.Alt Or Keys.F4
                MessageBox.Show("Alt F4 pressed")
                Return True
        End Select
        Return MyBase.ProcessDialogKey(keyData)
    End Function

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui tens um exemplo mais completo para as tuas dúvidas:

Public Class Form1



    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Button1.Text = "Clique para sair"
        Button1.AutoSize = True
        Me.ControlBox = False


    End Sub


    Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean

        Select Case (keyData)
            Case Keys.Control
                MessageBox.Show("Control Key pressed")
                Return True
            Case Keys.Alt Or Keys.F4
                MessageBox.Show("Alt F4 pressed")
                Return True
        End Select
        Return MyBase.ProcessDialogKey(keyData)
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If TextBox1.Text = "Sair" Then

            End
            
        End If
    End Sub
End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nop. Ele quer sair sem escrever em lado nenhum.

Dj, vou tentar isso amanha. Digo-te alguma coisa depois.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

heyx. sou mesmo bom a cumprir horários, lol. sorry lembrei.me de ti qd abri o vb as 4 da matina. Mas pensei k tava resolvido. Ya eu sei shame on me, ainda não tokei nisso, amanha sem falta. =P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pa desculpa ainda nao fiz nd, mas vou-te explicar a teoria, crias uma textbox (invisivel) e defines todas as teclas e vais formando a palavra na textbox, qd a palvra for sair, tens a funçao mais acima pa te fechar o prog.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que o Cybernavigator diz é uma boa hipótese! Mas, não precisas de adicionar mais nenhum controlo à tua Form1.

Já experimentaste o evento KeyPress da Form?

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

        Dim PalavraGuardada As String = "sair"

        Static OqueEscrever As String

        Static MeuNumeroCaracteres As Integer
        
        OqueEscrever &= e.KeyChar

        MeuNumeroCaracteres += 1


        If OqueEscrever.ToLower = PalavraGuardada Then

            End
          

           ElseIf MeuNumeroCaracteres = 4 Then

            MessageBox.Show("Não escreveu correctamente!")
            MeuNumeroCaracteres = 0
            OqueEscrever = ""


        End If

        


    End Sub

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