Bonjour,

Voici le contexte:
J'ai un Thread principal qui est ma Form dans laquel est créée une ListView.
En cliquant sur un bouton, j'exécute un Thread (pas un BackGroundWorker je précise) qui doit lire certaines données de la ListView

Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
            For Each ItemChecked In ListView.CheckedItems
                FileName = ItemChecked.ToString
            Next
Mais c'est pas franchement Thread Safe. J'ai donc réalisé les Function suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    Private Function GetListViewChecked(ByRef MyControl As ListView)
        Return MyControl.CheckedItems
    End Function
 
    Delegate Function GetSafeListViewChecked(ByRef MyControl As ListView)
Et j'ai modifié mon code en conséquence:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
            For Each ItemChecked In Invoke(New GetSafeListViewChecked(AddressOf GetListViewChecked), ListView) 
                FileName = ItemChecked.ToString
            Next
Mais j'ai toujours l'erreur d'invocation multi-thread sur la lecture de ma ListView.

Quelqu'un aurait-il une idée? merci d'avance.