Bonjour,
Je fais une sorte de jeu (genre RPG très simple) en VB.net et je suis débutant.
Dedans, j'ai un personnage qui a forcement des caractéristiques comme la vie et d'autres. C'est variable sont indiqué sur un form, et pour qu'elles s'affichent en temps réel, j'ai fait un boucle dans un BackgroundWorker.
Voici le code pour le BackgroundWorker :

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
Private Sub BackgroundWorker_bouclestats_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker_bouclestats.DoWork
 
        Do
            ProgressBar_vie.Maximum = vie
            Label_vieactuel.Text = ProgressBar_vie.Value
 
            TextBox_ptsADN_nbr.Text = adn
            Label_glucoseactuel.Text = glucose
            Label_fructoseactuel.Text = fructose
            Label_lactoseactuel.Text = lactose
            Label_amidonactuel.Text = amidon
 
            attag = 5 + Label_pili_nbr.Text * 3 + ag_cbt
            atttoxine = 10 + Label_golgi_nbr.Text * 5 + toxine_cbt
            resistance = 0 + antibio * 10
            esquive = 5 + locomotion_cbt
            bonuscapcite = 1 + Label_ribo_nbr.Text
            virus_cbt = 1 + Label_virus_nbr.Text + virus_cbt_prim
        Loop
 
    End Sub
Il tourne bien en arrière plan comme je veux, mais lorsque je modifie une des variable, j'ai une erreur : Opération inter-threads non valide : le contrôle 'ProgressBar_vie' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.

Comment contrer ce problème ? Google n'a pas été mon ami sur ce coup, et pourtant j'ai creusé mes recherches.