Appeler une procédure qui possède un évènement

Résolu
bugger31 Messages postés 5 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 28 novembre 2010 - 28 nov. 2010 à 11:12
bugger31 Messages postés 5 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 28 novembre 2010 - 28 nov. 2010 à 22:00
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

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
28 nov. 2010 à 14:36
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
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
28 nov. 2010 à 21:30
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
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 nov. 2010 à 14:58
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

++
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
28 nov. 2010 à 16:07
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bugger31 Messages postés 5 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 28 novembre 2010
28 nov. 2010 à 18:10
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.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
28 nov. 2010 à 21:25
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
0
bugger31 Messages postés 5 Date d'inscription mercredi 10 novembre 2010 Statut Membre Dernière intervention 28 novembre 2010
28 nov. 2010 à 22:00
Merci beaucoup, c'est plus propre j'avoue que tout mettre dans le bouton_click.
0
Rejoignez-nous