begin process at 2012 02 08 22:34:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

Backgroundworker et Progressbar


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Backgroundworker et Progressbar

jeudi 8 novembre 2007 à 16:40:06 | Backgroundworker et Progressbar

ahikaz

Salut,

Dans mon application, j'utilise un backgroundworker pour faire une requête SQL et la création d'un fichier. Lors de l'avancement, je fais des écritures dans un textbox.
Mais, je veux utiliser aussi un progressbar qui évolue avec les traitements et donc normalement d'après ce que je pense je dois entrer dans une boucle while qui teste si le backgroundworker effectue encore son travail ou non. Est-ce qu'il existe un truc isAlive pour backgroundworker  comme pour les threads ?

Merci.
jeudi 8 novembre 2007 à 17:13:09 | Re : Backgroundworker et Progressbar

niky

Membre Club
Réponse acceptée !
Salut,

Pas besoin de faire une boucle. Le backgroundworker possède un événement ProgressChanged.
Lors de ton traitement (donc dans l'événement DoWork du backgroundworker), tu faire appelles à la méthode ReportProgress (du backgroundworker). Ca déclenchera l'événement ProgressChanged et là, tu pourras mettre à jour ta barre de progression.

Pour savoir quand ton traitement est terminé, il te faut capturer l'événement RunWorkerCompleted.

Cordialement.
lundi 12 novembre 2007 à 16:40:56 | Re : Backgroundworker et Progressbar
mercredi 14 mai 2008 à 16:12:13 | Re : Backgroundworker et Progressbar

rocaro

Bonjour,

je débute en c#. J'effectue un traitement assez long, de ce fait, j'utilise un Backgroundworker pour pouvoir cliquer sur le bouton annuler pendant l'operation. J'ai vu que l'on pouvait passer un parametre a la methode DoWork mais moi je voudrais en passer 4, comment faire ?

Merci d'avance

Caro

mercredi 14 mai 2008 à 19:39:08 | Re : Backgroundworker et Progressbar

niky

Membre Club
Bonjour,

Le paramètre que l'on peut passer est de type object. Par conséquent, il peut s'agir de n'importe quoi (object étant à la racine de tous les objets) : int, double, List, Array, etc.

Typiquement, pour passer 4 paramètres (par exemple 1 entier et 3 chaînes de caractères) :
object[] parameters = new object[] { 15, "Hello", "World", "GoodBye");
// Démarrage du backgroundworker
bg.RunWorkerAsync(parameters);

// Récupération de l'argument dans la méthode DoWork :
private void bg_DoWork(object sender, DoWorkEventArgs e)
{
object[] parameters = e.Argument as object[];

int quinze = parameters[0] as int;
string hello = parameters[1] as string;
string world = parameters[2] as string;
string goodbye = parameters[3] as string;

// Le long traitement...
// ...
}
samedi 23 juillet 2011 à 23:07:16 | Re : Backgroundworker et Progressbar

YuneSh

VP je charge des données lus d'une base de données dans ma datagridview en utilisant un simple MyDataGrid.DataSource = MaDataSet.Tables["MaTable"]; mais puis que le chargement des données et lent je veux mettre un progressBar pour indiquer à l'utilisateur que le traitement et en cours ! Pourtant je n'ai aucune idée de comment manipuler une progressBar ...
j'ai Besoin du code SVP
Merci
lundi 25 juillet 2011 à 10:57:34 | Re : Backgroundworker et Progressbar

krimog

Administrateur CodeS-SourceS
Bonjour

Le problème est que ta méthode ne permet pas de savoir où en est le chargement. Donc ta ProgressBar doit être en mode "Marquee"

Tu dois donc insérer ce code avant le chargement.
Code C# :
maProgressBar.Style = ProgressBarStyle.Marquee;

Et insérer celui-ci après.
Code C# :
maProgressBar.Style = ProgressBarStyle.Continuous;
// Tu peux également remplir la progressBar ainsi
maProgressBar.Value = 100;


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -


Cette discussion est classée dans : progressbar, backgroundworker


Répondre à ce message

Sujets en rapport avec ce message

[debutant]progressBar [ par maxvador ] Salut à tous,Voila ce que je dois faire:J'ai une class graphic (herité de form) et une autre class qui fait un traitement SQL assez long. Je voudrais ProgressBar dans un StatusBar [ par jithurbide ] Hello, Je désespère . je recherche le moyen d'inclure un progressBar dans un statusbar comme le fait si bien IE et autres browser.Qui peux m'aider ??? progressbar [ par calaps ] Bonjour à tous,ceux qui ont déjà eus l'occasion de se confronter avec une progressbar sauront sans doute m'éclairer ....Comment puis-je la réinitialis Problème avec une progressbar [ par giorgio08 ] Bonjour a tous tout d'abord merci d'avoir repondu aux questions que j'avais posées ca m'a bien aidé.J'ai encore une question : j'utilise une progressb utiliser progressBar dans un sous programme [ par corine ] salut,j'ai créé un windows form en C# avec visual studio. Dans ce windows form j'ai inséré une progressBar.J'ai également mis dans les menus de mon wi progressbar en C# et bouton annule [ par BloP68 ] J'ai crée une form en C# où il y a une progressbar qui s'incrémente au fur et a mesure que mon calcul se fait.Et j'essaye de crée un bouton qui permet progressbar [ par penchu ] Je fais un prog avec une statusbar dans laquelle je met une progressbar et une textbox.Dans la form, j'ai un bouton "démarrer la progressbar" et une z progressBar [ par RM50Man ] Je ne comprend pas pourkoi ma progressbar ralenti mon programme .Quand je la met pas le programme se deroule rapidementet quand je la met ca ralenti Temps de copie [ par cpetter ] Bonsoir Je viens de créer une divxothèque et lors de la copie j'utilise 2 threads : 1 pour la copie et 1 pour l'affichage d'une progressbar. Pour l ProgressBar.Text [ par keikun59 ] Bonjour,J'étais entrain de faire mumuse avec la progressBar quand je vois qu'elle possède une propriété .Text. Je me dis peut-être qu'elle permet d'af


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales