Attendez n secondes, puis la ligne de code suivante sans formulaire de congélation
Salut, je suis en train d'essayer de trouver une méthode de l'attente, un certain nombre de millisecondes avant de passer à la ligne suivante de code,
J'ai regardé dans le Fil de discussion.Le sommeil, mais il gèlera le formulaire principal, je voudrais que cela reste actif.
J'ai essayé temporisateurs et compteurs et les deux geler le formulaire principal, alors qu'ils devraient être l'affichage d'une console quand ils tique.
Je ne pouvais pas trouver un moyen de l'utilisation de la tâche.retard ou de l'arrière-plan travailleur dans l'attente je voulais.
Pseudo-Code:
Wait 2 - 6 seconds
Log "waiting"
Log "waiting"
Log "waiting"
Stop Waiting - Run next line of code.
Les méthodes que j'ai essayé juste geler le formulaire et remplissez-le journal par la suite, je veux juste une méthode simple d'attente sans gel de la forme et sans avoir à traiter avec des événements appelés qui signifierait la ligne suivante n'est pas exécuté.
Toute aide serait génial car je suis encore novice en c# et sa conduisez-moi un peu folle 🙁
source d'informationauteur Sam
Vous devez vous connecter pour publier un commentaire.
La
await
mot-clé, en collaboration avecTask.Delay
rend cette triviale.Essayez d'utiliser un DispatcherTimer. C'est assez utile de l'objet qui fait tout le travail de la délégation au thread de l'INTERFACE utilisateur.
Par exemple:
Minuterie fonctionne bien dans ce cas, sauf si vous les mettez Fil.Dormir dans son gestionnaire ou le gestionnaire lui-même prend trop de temps.
Vous n'avez pas spécifié le cadre de l'INTERFACE utilisateur que vous utilisez ou .Version Net, mais pour plus tard .Net, vous pouvez utiliser async/await. De cette façon, l'INTERFACE utilisateur ne serait pas gelé pendant que votre code vous attend pour la tâche en arrière-plan