utilisation de BackgroundWorker
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:
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.