La Barre De Progression De C#
J'ai une barre de progression affiche l'état du chargement du programme des chansons dans la bibliothèque.
foreach (Song s in InitializeLibrary())
{
Library.AddSong(s);
pBar.Value++;
pBar.Update();
}
InitializeLibrary() est une fonction qui retourne une Liste
Le problème est que la barre de progression s'arrête "en mouvement" après un certain moment (par exemple 20%), tandis que la valeur augmente. Est-il un moyen de faire la mise à jour 100% du temps?
De quoi êtes-vous à l'aide de l'INTERFACE utilisateur (Windows Forms, WPF)?
la valeur par défaut Progressbar dans Visual C# 2008.
en utilisant le Système.De Windows.Formes;
Avez-vous mis
la valeur par défaut Progressbar dans Visual C# 2008.
en utilisant le Système.De Windows.Formes;
Avez-vous mis
pBar.Maximum = numberOfItemsInTheList
?OriginalL'auteur Mike | 2009-11-08
Vous devez vous connecter pour publier un commentaire.
La façon dont je l'ai fait c'est à l'aide d'un Composant BackgroundWorker.
L'utiliser pour charger vos chansons sur un thread d'arrière-plan et le rapport sur les progrès de la thread de l'INTERFACE utilisateur mise à jour de votre barre de progression.
L'arrière-plan travailleur manipule tous les messages entre les threads pour les rapports de progrès.
Cela vous procure les avantages du Multithreading, sans avoir à gérer l'enfilage-vous.
Un bon tutoriel qui va vous montrer comment utiliser les rapports d'étape ici.
il m'est arrivé que lorsque l'application est en train de faire beaucoup de "travail" sur th e thread de l'INTERFACE utilisateur, parfois, l'écran ne reçoit pas repeint souvent et que "Suspendu" sentiment. si vous séparez le travail sur un autre thread, la peinture de l'écran n'est pas problème.
OriginalL'auteur jasonmw
Vous devez définir la Maximum propriété de la barre de progression, de sorte qu'il peut calculer des pourcentages lorsque vous incrémenter le Valeur:
OriginalL'auteur Darin Dimitrov