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

Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
Dernière intervention
28 novembre 2010
- 28 nov. 2010 à 11:12 - Dernière réponse :
Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
- 28 nov. 2010 à 14:36
3
Merci
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

Merci cs_ghuysmans99 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Meilleure réponse
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
- 28 nov. 2010 à 21:30
3
Merci
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

Merci cs_ghuysmans99 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 28 nov. 2010 à 14:58
0
Merci
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

++
Commenter la réponse de PCPT
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
- 28 nov. 2010 à 16:07
0
Merci
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
Commenter la réponse de cs_ghuysmans99
Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
Dernière intervention
28 novembre 2010
- 28 nov. 2010 à 18:10
0
Merci
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.
Commenter la réponse de bugger31
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
- 28 nov. 2010 à 21:25
0
Merci
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
Commenter la réponse de cs_ghuysmans99
Messages postés
5
Date d'inscription
mercredi 10 novembre 2010
Dernière intervention
28 novembre 2010
- 28 nov. 2010 à 22:00
0
Merci
Merci beaucoup, c'est plus propre j'avoue que tout mettre dans le bouton_click.
Commenter la réponse de bugger31

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.