begin process at 2012 05 25 11:23:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > FENÊTRE D'ATTENTE AVEC BARRE DE PROGRESSION

FENÊTRE D'ATTENTE AVEC BARRE DE PROGRESSION


 Information sur la source

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Source .NET ( DotNet ) Classé sous :progressbar, attente, messagebox, patienter Niveau :Initié Date de création :11/09/2009 Date de mise à jour :15/09/2009 21:52:39 Vu / téléchargé :8 839 / 1 233

Auteur : casy

Ecrire un message privé
Commentaire sur cette source (33)
Ajouter un commentaire et/ou une note

 Description

Petite source sans prétention, qui me sert tous les jours.

Un jeu de classe permettant d'afficher une petite fenêtre, style messagebox, avec un message et une barre de progression animée durant un traitement lourd et bloquant

Un thread propre est automatiquement créé à l'affichage de la fenêtre de sorte que si un traitement lourd est effectué dans thread principal, figeant celui-ci, la barre de progression reste tout de même animée.

La fenêtre est affichée de sorte à toujours rester au dessus des autres fenêtres de l'application


Source

  • Source dans le zip
  • Utilisation :
  • 'Instantiation
  • Dim test As New Patientez
  • 'Affichage
  • test.Title = "TestPatientez"
  • test.Text = "Test de Patientez!"
  • test.Show()
  • 'Traitement lourd et bloquant
  • '..................
  • 'Fermeture
  • test.Close()
Source dans le zip

Utilisation :

    'Instantiation
    Dim test As New Patientez

    'Affichage
    test.Title = "TestPatientez"
    test.Text = "Test de Patientez!"
    test.Show()

    'Traitement lourd et bloquant
    '..................

    'Fermeture
    test.Close()


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

15 septembre 2009 21:52:39 :
Suppression du fichier .resx qui n'était pas nécessaire (et qui contenait des données non libre de droit)

 Sources du même auteur

OUVERTURE D'UN FICHIER PAR UN LOGICIEL EXTERNE

 Sources de la même categorie

Source avec Zip EDITION D'ÉTIQUETTES SANS OUTIL EXTERNE par ucfoutu
Source avec Zip Source .NET (Dotnet) APPRENDRE À PRONONCER LES MOTS ANGLAIS par alpha5
Source avec Zip Source .NET (Dotnet) AFFICHAGE DE TEXTE DANS UNE PICTUREBOX par alpha5
Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LE PLUS SIMPLE PROGRESSBAR AU MONDE par m_simohamed
Source avec Zip SPLASH SCREEN, SIMPLE ET COMPLEXE par bitshifter
Source avec Zip Source avec une capture Source .NET (Dotnet) MESSAGEBOX HELPER par raffika
Source avec Zip Source avec une capture BARRE DE PROGRESSION DANS UNE USERFORM EXCEL par Cybercraft2003
Source avec Zip Source avec une capture Source .NET (Dotnet) REDIMENSIONNER IMAGE par Le Pivert

Commentaires et avis

Commentaire de astouz2000k le 13/09/2009 20:39:08

bonjour,

merci pour ce code mais cela ne fonctionne pas chez moi.
l'appli es figé y compris ta progressbar, je pensais que le thread solutionnerai le probleme.
si toutefois tu as une idée je suis tout ouie.

merci

Commentaire de casy le 13/09/2009 21:04:31

Code de test :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Instantiation
Dim test As New Patientez

'Affichage
test.Title = "TestPatientez"
test.Text = "Test de Patientez!"
test.Show()

'Traitement lourd et bloquant
System.Threading.Thread.CurrentThread.Sleep(15000)

'Fermeture
test.Close()
End Sub

Ca marche très bien chez moi !!!

Commentaire de PCPT le 13/09/2009 22:01:07 administrateur CS

salut,

System.Threading.Thread.CurrentThread.Sleep(15000) => erreur (je dois supprimer 'CurrentThread')

même en plaçant une msgbox (qui bloque donc aussi le thread) ce code semble fonctionner comme prévu. (animation fonctionnelle, refresh ok, aucun freeze)

xp sp3
vs 2008

++

Commentaire de petchy le 15/09/2009 17:11:07

bonjour
je voudrais bien essayer le code,mais comment s'en servir?
merci
petchy

Commentaire de casy le 15/09/2009 21:20:16

TU prend les trois fichiers du zip, tu les dézippe dans le dossier de tes sources, et tu rajoute le .vb à ton projet (Ajouter/élément existant)

Ensuite tu t'inspire du code donné pour l'utilisation

Commentaire de PCPT le 15/09/2009 22:11:56 administrateur CS

... (pour un novice VB.NET comme moi... il a fallut moins de 40 secondes pour avoir un résultat utilisable)

casy, non pas que je pense çà utile mais bon : si tu en as envie (uniquement) joint éventuellement un projet démo :/

Commentaire de casy le 15/09/2009 22:32:29

Ben, avec le bout de code donné dans ma première réponse le projet démo est quasiment fait :D

Juste une Form, un bouton dessus, on laisse tous les paramètres par défaut, on colle le code de ma première réponse, et on execute ;)

Commentaire de PCPT le 15/09/2009 23:29:14 administrateur CS

je sais bien..., tu as raison de préciser pour les autres lecteurs....

Commentaire de petchy le 16/09/2009 08:57:39 8/10

bonjour

merci pour la réponse,c'est nickel

bonne journée
petchy

Commentaire de zeg_ le 20/11/2009 18:13:39 8/10

Bonjour,

Merci pour ce control qui m'a bien servi. Mais j'aimerais y ajouter un bouton ANNULER pour pouvoir mettre fin au traitement lourd s'il prenait trop de temps.
Comment m'y prendre?

Merci.

Commentaire de casy le 20/11/2009 20:37:57

C'est un point sur lequel, je crainds malheureusement ne pas savoir répondre !

C'est problablement possible, mais dans la mesure ou justement le but était de supprimer tout lien entre les 2 processus, cela risque d'être un peu complexe.

Il doit falloir, je pense, jouer avec des delegate et des callback, mais c'est un domaine que je ne connais pas assez bien.

Si quelqu'un d'autre à des réponses qu'il les propose

Commentaire de patmtp35 le 28/11/2009 22:49:37

hello

tout d'abord merci pour ton code !

j'ai essayer d'inclure ron code dans un pti bou de projet que je suis en train de realiser mais j'obtiens une erreur que j'ai du mal a corriger :
cela plante a cette ligne  Private _Fermer As Boolean = False en me disant

Impossible de trouver des ressources appropriées pour la culture spécifiée ou la culture neutre. Assurez-vous que "XJ_GUI.FormPatientez.resources" a été correctement incorporé ou lié dans l'assembly "XJ GUI" au moment de la compilation ou que tous les assemblys satellites requis sont chargeables et complètement signés.

as tu une idee ?

Commentaire de casy le 29/11/2009 09:51:07

Oui c'est probablement parce que j'avais été obligé de supprimer le fichier Patientez.resx des fichiers distribués car il contenait une donnée que je ne pouvais pas distribuer (pb de droit). Mais il semblerait qu'il soit rester une référence vers cette données dans les autres fichiers.

Essaye d'ouvrir le fichier Patientez.Designer.vb et regarde si tu trouve la ligne suivante :
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)

Si elle y est, essaye de la supprimer pour voir si ça marche mieux

Commentaire de tovin le 29/11/2009 10:37:09

Bonjour,
Non, le fait de supprimer la ligne Me.Icon ne change rien et j'ai toujours le bug signalé plus haut par PATMTP35.
On a toujours un arrière-goût d'insatisfaction quand on n'arrive pas à faire marcher un code: doit-il être attribué à l'ignorance du testeur ou au va-vite de l'offrant ?

Commentaire de patmtp35 le 29/11/2009 10:48:44

Merci ! ca a l'air d'etre cela !

Commentaire de tovin le 29/11/2009 11:09:59

Rebonjour,
Ma question n'était peut-être pas si idiote que tu peux le supposer : en effet, après avoir testé sous VB 2005, j'ai testé sous VB 2008. Et ça marche sous VB 2008.
Alors, ne serait-il pas nécessaire d'indiquer le programme à utiliser ?

Commentaire de patmtp35 le 29/11/2009 11:30:23

le code de casy marche tres bien on a juste pas la meme vision qd on est le développeur ou celui qui profite du code deja ecrit pour ma part cela fonction bien a part que je n'ai aucune progression sur la barre mais ca doit pas etre grd chose

Commentaire de casy le 29/11/2009 12:04:55

Le code donné est effectivement développé avec VB2008 (VB2005 au départ mais il a été converti par la suite) et il se peut que la structure des fichiers xxxx.designer.vb soit différente entre les 2 versions.
(Je n'ai plus VB2005 pour vérifier)

Hormis ce que j'expliquais plus haut sur le problème de l'icone, et qui est un raté de ma part, le code n'est pas non plus d'une complexité absolue.
Il peut, si besoin, être recréé sous VB2005. Dans un nouveau projet, il suffit de faire un nouvel écran vierge du même nom et caractéristique que celui-ci, d'y mettre un label et une progressbar nommé comme dans celui-ci, et de recopier le code qui se trouve dans patientez.vb.

Commentaire de patmtp35 le 29/11/2009 12:23:21

c'est exactement ce que j'ai fait et cela marche
par contre la progress bar ne bouge pas voici ma structure dit moi ce que tu en pensse :
Private Sub Start_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Start.Click
        'Instantiation
        Dim Wait As New Patientez
        'Affichage
        Wait.Title = "XtreamJ"
        Wait.Text = "Processing........"
        Wait.Show()
        Dim OP As New ProcessStartInfo("xtreamj.exe")
        OP.WindowStyle = ProcessWindowStyle.Hidden
        Dim P As Process = Process.Start(OP)
        P.WaitForExit()
        Wait.Close()
    End Sub

Commentaire de casy le 29/11/2009 13:24:15

As-tu mis la propriété Style de la progressbar sur Marquee pour qu'elle bouge toute seule comme une grande ?

Commentaire de patmtp35 le 29/11/2009 13:35:31

je n'ai rien toucher a ton code a se niveau la :

Public Sub Show()
' Affichage de l'écran d'attente
EcAttente = New FormPatientez
EcAttente.Titre = _Title
EcAttente.Message = _Text

'Style fixé à Marquee, mais peu être paramétrable en créant les propriétés qui vont bien
'pour initialiser les différents paramètres
EcAttente.Style = ProgressBarStyle.Marquee

If (Not _Thread Is Nothing) Then
_Thread.Abort()
_Thread = Nothing
End If
_Thread = New System.Threading.Thread(AddressOf EcAttente.affiche)
_Thread.Start()
End Sub

Commentaire de casy le 29/11/2009 14:47:07

Avec ton code et en remplaçant ton processus par notepad, je ne reproduit pas ton problème :(

Commentaire de patmtp35 le 29/11/2009 19:35:18

bizare doit y avoir autre chose ailleur j'ai essayer avec notepad mais trop rapide et j'ai essayer avec
System.Threading.Thread.CurrentThread.Sleep(15000) marche pas et en suprimant le windows style pareil pas de progression

Commentaire de patmtp35 le 29/11/2009 20:55:26

arf coup dur je viens de le coller ds un projet vide avec un formulaire simple et ce code


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim pt As New Patientez
        pt.Title = "Titre de la fenêtre"
        pt.Text = "Message d'attente"
        pt.Show()
       System.Threading.Thread.CurrentThread.Sleep(15000)
        pt.Close()
    End Sub
cela affiche bien la progress barre mais rien n'avance  apres elle disparait et le processu est finit...

Commentaire de casy le 29/11/2009 21:42:37

Il faut, je crois, que les styles visuels XP soient activés dans les propriétés du projet pour que le style Marquee marche.

Commentaire de patmtp35 le 29/11/2009 21:53:45

c'est activé bas je vais voir si je chope un sample de progress bar simple voir si il fonctione

Commentaire de patmtp35 le 01/12/2009 14:12:03

je viens de tester ds un projet vide a mon taf avec visual studio 2008 toujours pareils snif

Commentaire de casy le 01/12/2009 14:15:04

C'est plutot étrange. Je ne comprend plus. J'ai aussi essayer sur plusieurs postes, j'arrive pas à reproduire ton problème

Commentaire de tovin le 01/12/2009 18:07:54

Bonjour,
A l'attention de PATMTP35, je reproduis (avec les fautes d'orthographe) ton message du 29 :
"le code de casy marche tres bien on a juste pas la meme vision qd on est le développeur ou celui qui profite du code deja ecrit pour ma part cela fonction bien a part que je n'ai aucune progression sur la barre mais ca doit pas etre grd chose ".
D'après ce que je vois, tu aurais mieux fait de profiter du code que d'être développeur.
A+

Commentaire de patmtp35 le 01/12/2009 18:30:00

tovin tu es lourd...

Commentaire de tovin le 01/12/2009 18:41:17

Lourd ? Et même lourdeau !...

Commentaire de tovin le 03/12/2009 13:22:30 10/10

Bonjour,
Tiens, j'ai oublié de donner la note.

Commentaire de Domi68 le 29/12/2010 10:07:18

Bonjour,
Merci pour ton travail.
J'ai inclus ton code à un de mes projets en cous sous VB 2010. J'ai effectué la modification indiquée ci-dessus. Tout fonctionne hormis l'instruction close qui reste sans effet même après l'arrêt du programme. Une solution ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

ecran attente [ par fixou81 ] Bonjour a tous,je travaille avec vba word.voila j'ai un programme qui,lorsque je clique sur un bouton fait plusieurs copier-coller vers un document. C Boucle n'interagit pas avec l'utilisateur. [ par Phalalis ] Bon il est vrai que le sujet n'est peut etre pas parlant, mais je vais vous expliquer.Je suis actuellement sous vba access.J'ai mon formulaire, conten Aide pour une ProgressBar [ par Zayann ] Bonjour à tous... J'ai un petit problème concernant l'utilisation d'une ProgressBar... Explication : A l'appui sur un bouton, je fait une liste des f Visualiser les files d'attente de plusieurs imprimantes. [ par masterdd ] Bonjour, Je travaille dans un entreprise où plusieurs traceurs sont disponibles sur le réseau. Etant à des étages différents je souhaiterais pouvoir vba excel access, attente entre les ordres [ par ls8ls8 ] Bonjour à tous, Une macro excel sollicite plusieurs fois une base access (écriture et récupérations de données, lancement de macro access avec shell, Créer une simple progressbar dans un webbrowser [ par aus3004 ] Bonjour, je débute en vb depuis quelques jours. Je suis en train de créer un projet commercial nommé Ovix, qui est un navigateur Internet très spécial Erreur au moment de l'attente de la fin du chargement du webbrowser [ par ritshina_lilas ] bonjour tout le monde, Voilà mon problème, mon application fait un traitement en boucle de la façon suivante: for i as integer to 6 webbrowser1.na Comment intégrer ProgressBar avec WebBrowser [ par pierrehs ] Bonjour, Je voudrais mettre la ProgressBar avec WebBrowser pour montrer le temps de chargement de la page un peu comme explorer. Mais le problème c'es Image ou animation pour patienter [ par HiiiCoach ] Bonjour, J'ai codé une application en VBA Excel qui effectue des tâches de tri sur la feuille. L'opération prend jusqu'à 1 minute selon le nombre de Copie de fichiers , creer dossier inexistants en VB ? [ par nico8001 ] Bonjour, je travaille sur visual basic 2008 express j'ai fait une fonction qui me permet de copier des fichiers ces fichiers apparaissent dans un


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,952 sec (4)

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