Comment mettre à jour la barre de progression de l'autre classe?
J'ai un outil de ligne de commande écrit en c# (j'ai la source de l') que je fais une interface graphique pour dans visual studio 2010. Dans l'interface graphique je veux mettre à jour la barre de progression afin de refléter les progrès des outils d'exploitation. Comment pourrais-je le signal provenant de l'intérieur de l'outil, que des progrès ont été réalisés et de mettre à jour la barre de progression?
Certains simplifié code d'exemple de ce que im faire.
private void doThings_Click(object sender, EventArgs e)
{
myToolInstance.doWorkThatNeedsToReportProgress();
}
Le travail qui est fait par l'outil est une série d'appels de fonction, généralement autour de 30. Je veux mettre à jour la barre de progression à chaque fois que l'un de ces finitions.
Vous avez le contrôle sur le code source de l'outil de ligne de commande? L'outil actuellement indiquer les progrès accomplis d'une façon quelconque? Comment?
Le progrès est reflété par ce que vous essayez d'accomplir. Vous avez besoin de trouver une variable réfléchissant de la tâche à portée de main qui peut être surveillé et mis à jour la barre de progression. Il serait utile si vous avez édité votre message avec les détails.
Pouvez-vous nous donner un peu de votre code, et de déterminer quelle partie a besoin d'une barre de progression? Aussi, quel cadre êtes-vous la construction de votre GUI (WPF, Winforms?)?
comment êtes-vous de l'instanciation de votre outil?
Ce UI - Forms ou WPF? Et pourquoi ne l'outil de ligne de commande doivent rester? Ne pouvez-vous pas juste en plus de tout cela pour l'INTERFACE utilisateur? Il est encore .NET et C#.
Le progrès est reflété par ce que vous essayez d'accomplir. Vous avez besoin de trouver une variable réfléchissant de la tâche à portée de main qui peut être surveillé et mis à jour la barre de progression. Il serait utile si vous avez édité votre message avec les détails.
Pouvez-vous nous donner un peu de votre code, et de déterminer quelle partie a besoin d'une barre de progression? Aussi, quel cadre êtes-vous la construction de votre GUI (WPF, Winforms?)?
comment êtes-vous de l'instanciation de votre outil?
Ce UI - Forms ou WPF? Et pourquoi ne l'outil de ligne de commande doivent rester? Ne pouvez-vous pas juste en plus de tout cela pour l'INTERFACE utilisateur? Il est encore .NET et C#.
OriginalL'auteur Whyrusleeping | 2012-06-28
Vous devez vous connecter pour publier un commentaire.
Créer une propriété ou une méthode publique dans le formulaire contenant la barre de progression
Maintenant, vous pouvez mettre à jour la barre de progression avec
Une autre approche est d'avoir un
ProgressChanged
événement quelque part et laisser le formulaire de souscrire à cet événement.Dans la forme que vous auriez quelque chose comme cela
Mais ça marche parce que je peux (et ont fait) obtenir le code source de l'outil.
OriginalL'auteur Olivier Jacot-Descombes