Executer le code d'un bouton sans cliquer dessus ! [Résolu]

Signaler
Messages postés
37
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
2 décembre 2010
-
Mayzz
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
-
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

Messages postés
423
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
15 juillet 2014
5
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
Messages postés
37
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
2 décembre 2010

Merci Foliv57 ca marche !!!
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
22
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.
Messages postés
37
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
2 décembre 2010

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
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
22
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.
Messages postés
8
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
22 février 2011

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"
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
22
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.