Faire une pause dans l'appli [Résolu]

daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 2 avril 2008 à 19:46 - Dernière réponse : sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention
- 3 avril 2008 à 20:57
Bonsoir, je voudrais faire une pause dans l'exécution d'un évènement click sur une picturebox, voici le code :

Message.Text = "Message A";
System.Threading.Thread.Sleep(5000);
Message.Text = "Message B";

Mon problème est que le Message A n'apparait pas sur mon Form, seule la pause et le second "affichage" fonctionnent. (Message.Text est initialisé à "" dans le Form et c'est un contrôle Label)

Si vous avez une idée, je suis preneur, merci ^^
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
oximoron 149 Messages postés mercredi 23 juillet 2003Date d'inscription 30 janvier 2009 Dernière intervention - 2 avril 2008 à 20:25
3
Merci
bonsoir, après ton Message.Text = "Message A"; fait Message.Refresh() (si ca éxiste sur ton contôle) ou un Application.DoEvent(); ca devrai permettre de l'afficher.

Merci oximoron 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de oximoron
daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 2 avril 2008 à 20:59
0
Merci
Merci cela fonctionne très bien avec le refresh :)
Commenter la réponse de daikyo
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 3 avril 2008 à 09:04
0
Merci
ton erreur c'était surtout que "System.Threading.Thread.Sleep(5000); " suspend le thread courant de l'application... donc pendant 5 secondes ton application était figée.

la méthode Refresh() force ton label à se rafraichir...
Application.DoEvent() force Windows à traiter les messages en attentes.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 3 avril 2008 à 14:01
0
Merci
En parlant de Application.DoEvent(), je n'ai pas réussi à le faire marcher
Commenter la réponse de daikyo
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 3 avril 2008 à 14:07
0
Merci
Qu'entends-tu par là ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
daikyo 25 Messages postés mardi 4 octobre 2005Date d'inscription 27 avril 2008 Dernière intervention - 3 avril 2008 à 14:26
0
Merci
Erreur 1 'System.Windows.Forms.Application' ne contient pas de définition pour 'DoEvent' 
Commenter la réponse de daikyo
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 3 avril 2008 à 14:33
0
Merci
en fait... c'est nul  mais c'est Application.DoEvents();

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
oximoron 149 Messages postés mercredi 23 juillet 2003Date d'inscription 30 janvier 2009 Dernière intervention - 3 avril 2008 à 20:00
0
Merci
a oui pardon c'est avec un s. Mais à savoir que ca ralenti ton application, dasn ton cas ca n'est pas génant car c'est une attente, mais si c'est par exemple une grande boucles de calculs simple ca va plomber le temps d'exection. ar contre ca permet de supprimer l'effet "l'application ne répond pas" c'est donc à utiliser correctement c'est à dire pas à chaque itération de la boucle.
Commenter la réponse de oximoron
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 3 avril 2008 à 20:57
0
Merci
en cas de long traitement de toute façon, le plus efficace est d'utiliser un thread.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate

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.