Communications inter threads
Bonjour, je souhaiterai réaliser un affichage rafraichi toutes les 100ms.
J'ai dans une classe l'ensemble du code d'affichage et dans l'autre les méthodes de traitements le tout s'articule ainsi
Code:
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
|
public partial class DiagnosticAffichage : UserControl
{
private System.Timers.Timer temps;
private Diagnostic diagnostic;
public DiagnosticAffichage()
{
InitializeComponent();
diagnostic = new Diagnostic();
TimerAction();
}
public void TimerAction()
{
temps = new System.Timers.Timer();
temps.Interval = 200;
temps.Elapsed += new ElapsedEventHandler(AppelAffichage);
temps.Enabled = true;
temps.Start();
}
public void AppelAffichage(object source, ElapsedEventArgs e)
{
Affichage();
}
public void Affichage()
{
this.ramLibre.Text = diagnostic.getMemoire();
this.processeurPourcentage.Text = diagnostic.getProcesseur();
this.disqueLibre.Text = diagnostic.getDisque();
this.kbytesSec.Text = diagnostic.getReseau();
}
} |
J'ai l'erreur suivante qui apparaît :
Citation:
Opération inter-threads non valide : le contrôle 'ramLibre' a fait l'objet d'un accès à partir d'un thread autre que celui sur lequel il a été créé.
Je regarde mais j'ai du mal à trouver quelque chose de compréhensible pour savoir comment dans mon cas je dois géré cette communication inter-thread.
Merci d'avance.