Inhiber un evenement [Résolu]

buddy91600 14 Messages postés vendredi 17 mars 2006Date d'inscription 26 août 2008 Dernière intervention - 22 mars 2007 à 15:05 - Dernière réponse : buddy91600 14 Messages postés vendredi 17 mars 2006Date d'inscription 26 août 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 22 mars 2007 à 19:10
3
Merci
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

++

Merci cs_Willi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_Willi
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 22 mars 2007 à 15:13
0
Merci
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 ....
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 22 mars 2007 à 15:17
0
Merci
VB6, quant à lui, ne connait pas l'événement SelectedIndexChanged
d'une combobox...
Commenter la réponse de jmfmarques
cs_Nicko11 1141 Messages postés mercredi 7 mars 2007Date d'inscription 19 septembre 2007 Dernière intervention - 22 mars 2007 à 15:29
0
Merci
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.
Commenter la réponse de cs_Nicko11
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 22 mars 2007 à 15:35
0
Merci
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
Commenter la réponse de Renfield
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 22 mars 2007 à 15:53
0
Merci
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)
Commenter la réponse de jmfmarques
cs_Nicko11 1141 Messages postés mercredi 7 mars 2007Date d'inscription 19 septembre 2007 Dernière intervention - 22 mars 2007 à 16:04
0
Merci
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.
Commenter la réponse de cs_Nicko11
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 22 mars 2007 à 16:21
0
Merci
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>
Commenter la réponse de mortalino
buddy91600 14 Messages postés vendredi 17 mars 2006Date d'inscription 26 août 2008 Dernière intervention - 24 mars 2007 à 21:35
0
Merci
Merci Willi

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

Ca c'est de la balle

Salut
Commenter la réponse de buddy91600

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.