papayou12
Messages postés48Date d'inscriptionmercredi 4 septembre 2013StatutMembreDernière intervention12 juin 2014
-
30 mai 2014 à 09:52
papayou12
Messages postés48Date d'inscriptionmercredi 4 septembre 2013StatutMembreDernière intervention12 juin 2014
-
3 juin 2014 à 11:12
Bonjour,
voila j'ai un souci je suis entrain de créer un explorateur de fichier comme dans Windows mais voila le problème c'est que j'ai une erreur et je n'arrive pas à trouver comment la résoudre.
#Region " IconIndex Loading Thread" Private Sub LoadLV1Images() Dim ts As New ThreadStart(AddressOf DoLoadLv) Dim ot As New Thread(ts) #If Ver = 2013 Then ot.SetApartmentState(ApartmentState.STA) #Else ot.ApartmentState = ApartmentState.STA #End If Event1.Reset() ot.Start() End Sub
Private Sub DoLoadLv() Dim lvi As ListViewItem For Each lvi In lv1.Items lvi.ImageIndex = SystemImageListManager.GetIconIndex(lvi.Tag, False) Next Event1.Set() End Sub #End Region
Private Sub Lv1_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Lv1.VisibleChanged If Lv1.Visible Then SystemImageListManager.SetListViewImageList(Lv1, True, False) SystemImageListManager.SetListViewImageList(Lv1, False, False) End If End Sub
l'erreur ce trouve
For Each lvi In lv1.Items
mais je ne sais pas pourquoi
merci d'avance pour vos réponse
papayou12
Messages postés48Date d'inscriptionmercredi 4 septembre 2013StatutMembreDernière intervention12 juin 2014 30 mai 2014 à 12:51
merci d'avoir répondu
voici le message d'erreur
Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans System.Windows.Forms.dll
Informations supplémentaires : Opération inter-threads non valide : le contrôle 'Lv1' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.
merci pour ta réponse mais je ne vois pas ou je doit mettre le
Me.InvokeRequired
Me.Invoke
car j'ai regarder un peut partout et tester plein de truc mais rien n'y fait
NHenry
Messages postés15066Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 mai 2023158 30 mai 2014 à 20:32
As-tu regardé l'aide des fonctions en question ?
As-tu recherché un peu ?
Ces fonctions vont te dire et te permettre d'executer u ne fonction dans le thread d'affichage et non dans le thread que tu as créé
papayou12
Messages postés48Date d'inscriptionmercredi 4 septembre 2013StatutMembreDernière intervention12 juin 2014 30 mai 2014 à 20:51
je regarderai sa et je te tiens au courant merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
papayou12
Messages postés48Date d'inscriptionmercredi 4 septembre 2013StatutMembreDernière intervention12 juin 2014 2 juin 2014 à 09:13
Merci pour tes réponses mais toujours pas compris car c'est sur le
for each lvi in lv1.items qu'il me mais l'erreur et non pas sur thread
mais ce n'ai pas grave je vais voir autrement.
NHenry
Messages postés15066Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 mai 2023158 Modifié par NHenry le 2/06/2014 à 20:36
En gros, voici un code exemple :
Soit un gestionnaire d'évènement Button1_Click(Sender, Arg)
Sub ...
If Me.InvokeRequired Then
me.Invoke(sub() Button1_Click(sender,Arg))
return
End If
...
End Sub
If a Dalek is a being of pure hate...what happens when Cadence uses her love spell on one?
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
papayou12
Messages postés48Date d'inscriptionmercredi 4 septembre 2013StatutMembreDernière intervention12 juin 2014 3 juin 2014 à 11:12