Executer le code d'un bouton sans cliquer dessus !

Résolu
radsie Messages postés 37 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 2 décembre 2010 - 25 juil. 2010 à 12:23
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 22 févr. 2011 à 13:41
Bonjour

Voila, je souhaiterais executer le code d'un combobox sans avoir a cliquer dessus !

Lorsque je veux executer le code 'Combo_ChoixNoPort_SelectedIndexChanged'
VB10 me le souligne en bleu et me dit ' Argument non spécifié pour le parametre 'e' de Private )

J'avoue que là je séche !!!

QQ pourait-il me donner l'astuce ?

Merci d'avance

Stéphane

7 réponses

foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
25 juil. 2010 à 12:32
Bonjour,

Les sub appelées par l'évenement d'un control peuvent bien entendue être appelées depuis nimporte quel autre partie de code.

Mais il ne faut pas oublier de passer les paramètres de ces sub

Exemple:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Console.WriteLine("Hello")
End Sub

Public Sub ExecuteClick()

    Button1_Click(Me.Button1, Nothing)

    'Ou

    Button1_Click(Nothing, Nothing)

End Sub
3
radsie Messages postés 37 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 2 décembre 2010
25 juil. 2010 à 20:51
Merci Foliv57 ca marche !!!
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
27 juil. 2010 à 00:53
Pour info, le bouton à une procédure simulant le click réellement (le bouton à l'état cliqué et c'est lui qui déclanche la procédure) :

Button1.PerformClick

Ce qui évite d'avoir à passer des arguments.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
radsie Messages postés 37 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 2 décembre 2010
27 juil. 2010 à 21:19
Bonjour Mayzz

Merci aussi pour ta reponse, par contre PerformClick n'existe pas dans VB10
j'ai juste Button.PerformLayout !

J'ai peut-être oublié qq chose !
Ou as tu trouvé cela ?

Merci d'avance

Stéphane
0

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

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
27 juil. 2010 à 23:48
Si si, il existe bien, t'as du faire une erreur, c'est une procédure qui n'est pas partagé donc elle s'appelle à partir d'une instance de bouton :

Button1.PerformClick()

et non

Button.PerformClick

Voilou.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Querieux Messages postés 8 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 22 février 2011
22 févr. 2011 à 10:45
Bonjour,
Je tourne en rond: un problème dans une application média (recherche durée de lecture fichier WAW) avec un code identique à:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Message Erreur de compilation attendu: fin d'instruction à Handels
J'ai VB6.0(SP6) et le nom du contrôle par défaut est Command1.
Même erreur avec Command1 à la place de Button1.
Si on peut m'aider, merci.


Querieux <img title="help" src="chrome://qtl/content/help.png"
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
22 févr. 2011 à 13:41
Salut,

Normal tu utilises un code VB.Net (donc version 7 à 10) dans une source VB (version 6) et ce n'est pas compatible.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0