Inhiber un evenement

Résolu
buddy91600 Messages postés 14 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 26 août 2008 - 22 mars 2007 à 15:05
buddy91600 Messages postés 14 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 26 août 2008 - 24 mars 2007 à 21:35
Bonjour ( je suis débutant vous comprendrez , soyez indulgent)

J'ai un Combobox sur lequel un evenement _selectedindexchanged est cablé.
mais j'aimerais qu'au chargement de ma Windows Form cet evenement ne soit pas actif.

En effet , au chargement _Load , je change par programmation l'index du combo
ex : combo.selectindex = 5

, mais je ne veux pas que le sous_programme _selectedindexchanged s'active.

une idée ???

ou dois -je utiliser un autre evenement ? un evenement qui specifie que c'est bien l'utilisateur qui fait cette modif

ci joint un extract  , ou chargement , je ne veux pas que I = I+1 s'execute

C'est en VB.net , mais en VB6 la technique doit être identique

Private
Sub ComboBox1_SelectedIndexChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles cb1.SelectedIndexChanged

Dim i
As
Integeri = i + 1

End
Sub

Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Loadcb1.SelectedIndex = 5

End
Sub
Merci

9 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
22 mars 2007 à 19:10
Bonsoir,
Une autre solution parmit les autres....même si celles de Renfield et Mortalino répondent parfaitement.

Dans ton événement Load de ta feuille tu peux désinscrire ton événenment SelectedIndexChanged du gestionnaire d'événéments et à la fin dans ton Load le réinscrire.

Private Sub Form_Load(.......)

   'Désinscription de ton événement:
   RemoveHandler ComboBox1.SelectedIndexChanged, Addressof ComboBox1_SelectedIndexChanged

   'ton code de chargement.....

   'Inscription de ton événement:
   AddHandler ComboBox1.SelectedIndexChanged, Addressof ComboBox1_SelectedIndexChanged

End Sub

++
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 mars 2007 à 15:13
Hello ;

Je te siuggère ceci :

Msgbox "difficile d'attendre une réponse VB.Net quand on 'poste' dans la section VB6, où tu te trouves !"
La précision commence par s'exprimer ainsi ....
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 mars 2007 à 15:17
VB6, quant à lui, ne connait pas l'événement SelectedIndexChanged
d'une combobox...
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
22 mars 2007 à 15:29
jmfmarques, trop marrant, t'es vraiment un casseur. 

723140 buddy91600, tu peux passer par une solution simple. Tu déclares une variable globale, au début du prog tu l'as mets a false, et tu la place à true lorsque tu desire que ton evenment soit actif.

Dans ta procedure evenemtielle, tu fait un test sur ta variable et si elle est false, tu fais cancel  = true ou exit sud si tu peux pas.
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 mars 2007 à 15:35
tu dois pouvoir tester l'ancien index....
s'il vaut -1, par exemple c'est que rien n'etait selectionné => tu es au démarrage

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 mars 2007 à 15:53
Bonjour Nicko11,

Mais voilà :
"C'est en VB.net , mais en VB6 la technique doit être identique"
et, ma foi, ce que tu écris là :
"tu fais cancel  = true "
n'est pas du VB6 pour une combo...
Qui a porlé d'ambigüité ? Bibi ...ma foi...(le "casseur", donc)
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
22 mars 2007 à 16:04
C'est pour ca que (ne connaissant pas bien .net) j'avais proposer de faire Exit Sub. Il y certainement d'autre solution mais bon, c'en est une.

Mais "casseur" n'est pas une insulte (Brice de nice, on le trouve marrant pas mechant). C'etait une sorte d'hommage a ta blague.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 mars 2007 à 16:21
Salut,

Mais une fois l'index sélectionné, si tu veux pas que ce contrôle soit activé, bah il suffit d'en sélectionner un autre...




    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.ComboBox1.SelectedIndex = 1

        Me.Button1.Select()
    End Sub





@++





<hr width="100%" size="2" />

  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
buddy91600 Messages postés 14 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 26 août 2008
24 mars 2007 à 21:35
Merci Willi

c'est exactement ce genre de debrayage que je cherchais à connaitre

Ca c'est de la balle

Salut
0
Rejoignez-nous