Fonction qui permet de mettre un temps de latence entre deux instructions [Résolu]

Messages postés
7
Date d'inscription
mercredi 3 février 2010
Dernière intervention
11 février 2009
- - Dernière réponse : cs_coq
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
- 17 janv. 2009 à 22:04
Bonjour, je cherche une fonction qui permet de mettre un temps de latence entre deux instructions.

en clair ...instruction 1 ;
            (temps de latence )
            instructions 2;

merci d'avance
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
3
Merci
Salut,

Ton code est executé dans le thread principal, celui qui est en charge du GUI.
Tant que tu es dans la méthode btn_Compter_Click (résultant de la réception de messages correspondant au clic au dessus du bouton) les autres messages ne sont pas traités, ce qui inclus les messages demandant aux contrôles de se redessiner, ce qui inclus bien évidemment le TextBox.
Dans le cas présent le plus simple est de regarder du côté de la méthode Application.DoEvents, mais il sera peut être aussi intéressant de commencer à regarder du côté de la programmation multi-thread.

/*
coq
MVP Visual C#
CoqBlog
*/

Merci cs_coq 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_coq
Messages postés
342
Date d'inscription
dimanche 26 janvier 2003
Dernière intervention
25 mars 2009
0
Merci
System.Threading.Thread.Sleep(int milliseconds)
Commenter la réponse de bubbathemaster
Messages postés
7
Date d'inscription
mercredi 3 février 2010
Dernière intervention
11 février 2009
0
Merci
j'ai essayé la fonction en la testant sur ce petit code :

private
void btn_Compter_Click(
object sender,
EventArgs e){
Affichage "1";txb_Affichage.Text Affichage;

System.Threading.
Thread.Sleep(1000 );Affichage "2";txb_Affichage.Text Affichage;

System.Threading.
Thread.Sleep(1000);Affichage "3";txb_Affichage.Text Affichage;

}

finalement quand j'appuie su le bouton Compter, il m'affiche seulement "3" au bout de quelques secondes, or je souhaite afficher "1", puis après 1 seconde, "2", puis après une seconde, "3" .
je précise que je travaille sur windows studio 2008 en c# .

Ou-est mon erreur ? Est-ce que j'ai mal compris le but de la fonction ?
Commenter la réponse de joker91170

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.