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

VB.NET Discussion :

Une erreur avec listview1 avec threads


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Points : 0
    Points
    0
    Par défaut Une erreur avec listview1 avec threads
    Bonsoir,

    j'ai un message erreur quand démarre threads dans listview1 : Opération inter-threads non valide : le contrôle 'ListView1' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.


    le code qui a l'erreur avec threads :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To ListView1.Items.Count - 1
                    Dim lvi As ListViewItem = ListView1.Items(i) <= l'erreur
    ....etc
    pouvez-vous me dire comment écrire avec listview1.items(i) avec invoke? j'ai chercher mais j'ai pas trouver la solution a mon probléme.

    Merci de votre réponse,
    cordialement,

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    recherche avec "Delegate"

  3. #3
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 697
    Points
    10 697
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    C'est un problème classique et il existe de nombreuses ressources pour expliquer comment faire.

    Voici un exemple trouvable sur la MSDN

    Citation Envoyé par MSDN
    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
    43
    44
    45
    46
    47
    48
    49
    // This event handler creates a thread that calls a 
    		// Windows Forms control in a thread-safe way.
    		private void setTextSafeBtn_Click(
    			object sender, 
    			EventArgs e)
    		{
    			this.demoThread = 
    				new Thread(new ThreadStart(this.ThreadProcSafe));
     
    			this.demoThread.Start();
    		}
     
    		// This method is executed on the worker thread and makes
    		// a thread-safe call on the TextBox control.
    		private void ThreadProcSafe()
    		{
    			this.SetText("This text was set safely.");
    		}
     
    		// This delegate enables asynchronous calls for setting
    		// the text property on a TextBox control.
    		delegate void SetTextCallback(string text);
     
    		// This method demonstrates a pattern for making thread-safe
    		// calls on a Windows Forms control. 
    		//
    		// If the calling thread is different from the thread that
    		// created the TextBox control, this method creates a
    		// SetTextCallback and calls itself asynchronously using the
    		// Invoke method.
    		//
    		// If the calling thread is the same as the thread that created
    		// the TextBox control, the Text property is set directly. 
     
    		private void SetText(string text)
    		{
    			// InvokeRequired required compares the thread ID of the
    			// calling thread to the thread ID of the creating thread.
    			// If these threads are different, it returns true.
    			if (this.textBox1.InvokeRequired)
    			{	
    				SetTextCallback d = new SetTextCallback(SetText);
    				this.Invoke(d, new object[] { text });
    			}
    			else
    			{
    				this.textBox1.Text = text;
    			}
    		}
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour à tous,

    Si vous retracez les sujets de discussion de hacker59 vous vous rendrez compte qu'il ne souhaite pas faire fonctionner sa matière grise.......... il est donc inutile de lui proposer de lire des ressources, c'est du code prêt à l'emploi qu'il veut.......

    D'autant plus qu'il ne clos et verrouille jamais ses sujets de discussion......

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Points : 0
    Points
    0
    Par défaut
    Bonjour,
    Pour info wallace, je utilise ma matière grise avant critiquer les gens. c'est la première fois je utilise threads est j'ai trouver la solution a mon probléme.

    merci de ton aide François DORIN.

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

Discussions similaires

  1. Besoin avis pour dev avec TServerSocket (avec ou sans thread)
    Par Invité dans le forum Web & réseau
    Réponses: 15
    Dernier message: 04/07/2011, 10h45
  2. une erreur à l'exécution avec un enum
    Par Virgile le chat dans le forum Langage
    Réponses: 2
    Dernier message: 10/06/2009, 18h52
  3. Réponses: 4
    Dernier message: 11/06/2008, 17h26
  4. boucle simple dans une dataGrid avec quand même une erreur !
    Par fkr dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/11/2005, 15h04
  5. Modifier le nom d'une base de donnée avec erreur sy
    Par mmn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/11/2003, 10h12

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