J'ai une application C # Windows Formulaires avec une barre de progression. Je veux progresser de manière dynamique sur la base d'un statut de méthode. J'ai cette méthode dans une classe distincte et je crée un nouveau thread pour cette méthode, avec un délégué de transmettre l'état de la méthode sur le fil parent. P>
La même situation que je suis capable de résoudre dans une application WPF utilisant progressar.dispatcher code> mais dans une application de formulaires Windows, il n'y a pas de répartiteur, même si j'utilise le système
System.threading code > Espace de noms. P>
progressar.dispatcher code> semble être disponible uniquement dans une application WPF. P>
3 Réponses :
Dans l'application Formulaire Windows Backworker CODE> doit s'adapter parfaitement à votre tâche. En particulier, il a
reporter une méthode code> pour envoyer des progrès en fonction de vos calculs et
ProgressChanged code> pour suivre les modifications du fil de l'interface utilisateur. Voir Article MSDN pour plus de détails p>
dans WinForms Vous pouvez utiliser la progressionBar.invoke ou progressezBar.begininvoke pour mettre à jour le contrôle d'un autre fil. p>
in Winforms the Invoke / beginInvoke code> Les méthodes sont directement sur les objets de contrôle, comme vous pouvez le constater dans les documents de system.windows.forms.control . Donc, vous auriez
progressifbar.begininvoke (...) code> par exemple. P>