IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Désabonnement à un évènement pour l'empêcher de se déclencher [vb.net]


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 112
    Points : 80
    Points
    80
    Par défaut Désabonnement à un évènement pour l'empêcher de se déclencher [vb.net]
    Bonjour !

    J'aimerais savoir comment empêcher un évènement de s'exécuter lors du chargement de ma form.

    En fait, j'utilise une listview et des items sont cochés à l'ouverture de la form mais l'événement listview_ItemChecked s'exécute toujours et modifie le comportement de ma form.

    J'utilise listview_ItemChecked juste lorsque je coche ou décoche un item au niveau de ma listview.

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Abonnes-toi à l'évènement Load de ton formulaire et dans le gestionnaire tu effectues l'abonnement à l'évènement listview_ItemChecked de ta ListView après que tu sois sûr que les items concernés soient cochés.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 112
    Points : 80
    Points
    80
    Par défaut
    Merci pour ta réponse,

    C'est bien ce que je viens de faire je me suis désabonner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     RemoveHandler lstWO.ItemChecked, AddressOf lstWO_ItemChecked
    mais comment me réabonner pour que je puisse prendre en charge les changements au niveau de mes cases à cocher ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je pense que AddHandler est la méthode à utiliser pour se réabonner.

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 112
    Points : 80
    Points
    80
    Par défaut
    Voici mon code qui gère mon évènement lorsque'un item dans ma listview est coché.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Private Sub lstWO_ItemChecked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles lstWO.ItemChecked
     
                Dim Listcartes As List(Of String) = New List(Of String)
     
                For Each item As ListViewItem In lstWO.CheckedItems
                    Listcartes .Add(item.Text)
                Next
     
                Obj.ccartes = Implode(",", Listcartes )
     
        End Sub
    J'ai désactivé l'évènement lorsque je fais le chargement de ma form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RemoveHandler lstWO.ItemChecked, AddressOf lstWO_ItemChecked
    Je n'arrive plus à réactiver mon évènement, rien ne se passe lorsque je coche un item.

    Même si j'ajoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AddHandler lstWO.ItemChecked, AddressOf lstWO_ItemChecked
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tu l'as mis où le désabonnement et où l'abonnement ?

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 112
    Points : 80
    Points
    80
    Par défaut
    Justement je ne sais pas ou me réabonner !

    C'est ma méthode qui me permet de charger une liste d'éléments. et c'est à la fin de ma méthode que je me suis désabonner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    
    Public Sub LoadWOList(ByVal Config As CConfig)
    
                lstWO.BeginUpdate()
    
                lstWO.View = View.Details
                lstWO.FullRowSelect = True
                lstWO.CheckBoxes = True
    
                lstWO.Items.Clear()
                lstWO.Columns.Clear()
                lstWO.Columns.Add("W.O.", 100, HorizontalAlignment.Center)
                lstWO.Columns.Add("Description", 350, HorizontalAlignment.Left)
    
    
                Dim Lst As ListViewItem
    
                'Chargement de la liste des Work Orders 
                Dim Carte () As Cartes = Cartes.GetCartesList(Cartes.Filters.Allcartes)
    
                For Each CA As Carte In Cartes 
    
                    Lst = New ListViewItem(CA .cwono)
    
                    Lst.Checked = Config.GetNonList.Contains(CA.nwo.ToString.PadLeft(2, "0"))
    
                    Dim lstDescription As New ListViewItem.ListViewSubItem
                    lstDescription.Text = CA .cdescript
    
                    Lst.SubItems.Add(lstDescription)
    
                    lstWO.Items.Add(Lst)
    
                Next
    
                lstWO.EndUpdate()
    
             ]  RemoveHandler lstWO.ItemChecked, AddressOf lstWO_ItemChecked
    
    
        End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestionnaire d'évènements pour les fichiers sur disque
    Par chourmo dans le forum Composants VCL
    Réponses: 2
    Dernier message: 01/03/2006, 16h18
  2. Héritage d'un événement pour une classe fille
    Par korntex5 dans le forum Langage
    Réponses: 4
    Dernier message: 11/01/2006, 16h48
  3. Gestionnaire d'événements pour la souris en assembleur
    Par bassim dans le forum Assembleur
    Réponses: 2
    Dernier message: 09/12/2005, 23h45
  4. Réponses: 3
    Dernier message: 27/11/2005, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo