cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 2009
-
25 janv. 2005 à 13:35
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
27 janv. 2005 à 18:06
Bonjour tout le monde,
voila je débute en C# et j'ai donc quelques problemes... en fait des le lancement de mon programme, je lance un thread qui a pour but de modifier de maniere continuelle un labal qui est sur mon dialog... le seul probleme, c'est que je n'ai pas "acces" au propriété de mon label, dans la fonction du thread... Comment dois je m'y prendre?
Merci par avance
Bob...
"La chance accorde ses faveur aux esprits avertis..."
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014100 25 janv. 2005 à 13:54
Déjà modifier un contrôle depuis un autre thread que celui qui l'a crée n'est pas du tout conseillé, il faut passer par la méthode Invoke du contrôle en question.
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 25 janv. 2005 à 14:53
ok, je viens de faire des recherches sur le site et il faut dire qu'on n'y trouve pas beaucoup d'info, alors pourquoi ne pas mettre une source concret, d'un prog ou on peut modififer les propriete d'un element d'une forme depuis un thread?
comme ca on aurrait un exemple concret sur le site, et cela poserai moins de probleme !
Bob...
"La chance accorde ses faveur aux esprits avertis..."
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 25 janv. 2005 à 15:03
ouais je demande pas mieux de poster la source pour aider les differentes personnes en détresse, mais j'en fais partit, et je n'ai moi meme pas compris fonctionne Invoke, c'est pour cela que je demande de l'aide ici !
Bob...
"La chance accorde ses faveur aux esprits avertis..."
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014100 25 janv. 2005 à 18:14
ThreadHeure est censée être une méthode d'instance dans notre cas, pas une méthode static => public void ThreadHeure()
Dans la méthode main ceci disparait :
m_upLbl = new UpdateLabelDelegate(MaMethodeDeMajDuLabel);
Thread t = new Thread(new ThreadStart(ThreadHeure));
Par contre dans le constructeur de la classe Form1 :
m_upLbl = new UpdateLabelDelegate(MaMethodeDeMajDuLabel);
m_monThread = new Thread(new ThreadStart(ThreadHeure));
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 27 janv. 2005 à 14:43
je suis vraiment désoler, mais j'ai toujours des problemes avec cette fonction, je te montre ce que j'ai comme code:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;
namespace winveil
{
/// <summary>
/// Description résumée de Form1.
/// </summary>
public
class Form1 : System.Windows.Forms.Form
{
p
rivate System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label LReveil;
private System.Windows.Forms.TextBox IDH;
private System.Windows.Forms.TextBox HDM;
private System.Windows.Forms.Button BtTest;
private System.Windows.Forms.Button BtSonnerie;
private System.Windows.Forms.Button BtActive;
private System.Windows.Forms.Label LTime;
private
delegate
void UpdateLabelDelegate (
string text );