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

joker91170 7 Messages postés mercredi 3 février 2010Date d'inscription 11 février 2009 Dernière intervention - 12 janv. 2009 à 17:32 - Dernière réponse : cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention
- 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
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 17 janv. 2009 à 22:04
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_coq
bubbathemaster 342 Messages postés dimanche 26 janvier 2003Date d'inscription 25 mars 2009 Dernière intervention - 12 janv. 2009 à 17:44
0
Merci
System.Threading.Thread.Sleep(int milliseconds)
Commenter la réponse de bubbathemaster
joker91170 7 Messages postés mercredi 3 février 2010Date d'inscription 11 février 2009 Dernière intervention - 13 janv. 2009 à 15:34
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.