Appeler une procédure qui possède un évènement [Résolu]

Signaler
Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
Statut
Membre
Dernière intervention
28 novembre 2010
-
Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
Statut
Membre
Dernière intervention
28 novembre 2010
-
Bonjour,
j'essaye de réaliser un évènement KeyUp ou Keypress afin que lorsque j'appuie la touche entrée, l'application considère que cela revient à cliquer sur le bouton démarrer.
J'ai écris ça :

Private Sub Form1_KeyPress(Byval KeyAscii as integer)
If KeyAscii = 13 then
Msgbox("lalala")
Call Bouton1_Click()
end if
end sub

sachant que le call appelle la sub :
Private Sub Bouton1_Click(Byval sender as System.object, Byval e as System.EventArgs) handles Bouton1.Click

J'ai deux problèmes, la msgbox n'affiche rien donc c'est que la pression de la touche n'est pas détectée.
Et je ne sais pas quels arguments mettre dans le Call. De ce que j'ai cru comprendre je pourrais faire call Bouton1_Click(Bouton1, ?) mais je ne suis même pas sur.
Pouvez vous m'aider?
Merci d'avance

7 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Utilise l'IDE pour générer le code des évènements, là tu essaies d'utiliser ceux de VB6 ...
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show("Et en plus, ça marche !")
    End Sub

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If Convert.ToByte(e.KeyChar) = 13 Then Button1_Click(sender, Nothing)
    End Sub


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Façon non dégueulasse de le faire
    Private Sub Okay()
        MessageBox.Show("Et en plus, ça marche !")
    End Sub

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

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If Convert.ToByte(e.KeyChar) = 13 Then Okay()
    End Sub


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,

notion vb.net on n'appelle pas un évènement...

il faut différent le code de l'évènement dans une procédure qui elle sera appelable lors des différents évènements

++
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
C'est vrai que c'est un peu moins sauvage

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
Statut
Membre
Dernière intervention
28 novembre 2010

Merci de vos réponses.
Je suis débutant donc pardonnez mes erreurs grossières.
Questions à propos de vos réponses.
Cbyte ne marche pas à la place de Convert.toByte. Pourquoi?
J'ai écris d'après ta réponse
" If Convert.ToByte(e.KeyChar) = 13 Then
Call Button1_Click(sender, Nothing)
end if"

et cela marche. Pourquoi n'as tu pas précisé le "Call"? et pourquoi n'y a t'il pas besoin de
"End If" dans ton code?
Merci.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
1) Aucune idée ... J'ai utilisé Convert.ToByte vu que l'autre est une fonction de VB6.
2) Le Call est facultatif.
3) Si on met tout sur une ligne, VB sait que le bloc se finit à la fin de celle-ci.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
Statut
Membre
Dernière intervention
28 novembre 2010

Merci beaucoup, c'est plus propre j'avoue que tout mettre dans le bouton_click.