Partage
  • Partager sur Facebook
  • Partager sur Twitter

Event Handler : problème d'accès aux contrôles

    24 mars 2019 à 15:52:23

    Bonjour,

    Ma procédure gestionnaire d'événements n'arrive pas à accéder correctement aux contrôles de mon formulaire :

    Class maclasse
    
     Event MonEvent(byval data as object)
    
    
    Sub init()
    
    AddHandler MonEvent, AddressOf Form1.MonHandler
    
    End Sub
    
    
    Sub dostuff()
    
    ...
    
    RaiseEvent MonEvent(qqchose)
    
    End Sub
    
    End Class
    
    
    Class form1
    
    Sub MonHandler()
    
    MsgBox(InvokeRequired) 'toujours false
    
    MsgBox(ListView1.Items.Count)
    
    End Sub
    
    End Class
    
    
    

    ListView1.Items.Count a la valeur correcte si RaiseEvent est appelé sur le thread principal, mais il indique toujours 0 quand RaiseEvent est appelé depuis un autre Thread (je précise que la listeview contient des éléments). En utilisant Invoke() dans MonHandler, il n'y a aucune différence. Je n'ai pas d'exception "impossible d'accéder au contrôle depuis un autre thread".

    J'ai essayé également :

    Class form1
    
    Delegate Sub MyDelegate()
    
    Sub MonHandler()
    
    Invoke(new MyDelegate(AddressOf delegated))
    
    End Sub
    
    Sub delegated()
    
    MsgBox(InvokeRequired) 'toujours false
    
    MsgBox(ListView1.Items.Count)
    
    End Sub
    
    End Class

     Mais sans différence.

    Pourriez-vous m'aider à faire fonctionner mon code ?

    Merci,

    E__Man.

    -
    Edité par E__Man 24 mars 2019 à 15:53:35

    • Partager sur Facebook
    • Partager sur Twitter
      25 mars 2019 à 11:25:51

      Que ces machins compilent, c'est au mieux un coup de bol.

      C'est quoi votre problème initial, dont un "event" est un putain de couplage des enfers.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

      Event Handler : problème d'accès aux contrôles

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown