Partage
  • Partager sur Facebook
  • Partager sur Twitter

message d'erreur ToolStripProgressbar

Sujet résolu
Anonyme
    16 septembre 2017 à 21:01:17

    Bonjour , lorsque que je souhaite mettre la valeur de 
    e.CurrentProgress
     dans 
    me.ToolStripProgressBar.value = e.currentprogress
     , dans l'événement
    Handles WebBrowser.ProgressChanged


    Private Sub so(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged
    
            Me.ToolStripProgressBar1.Maximum = e.MaximumProgress
            Me.ToolStripProgressBar1.Value = e.CurrentProgress
    
       End Sub

    j'ai un message disant , "La valeur '-1' n'est pas valide pour 'Value'. 'Value' doit être compris entre 'minimum' et 'maximum'. 
    Nom du paramètre : Value"


    donc je met
    Me.ToolStripProgressBar1.Value = e.CurrentProgress + 1
    


    mais il y a un autre message disant , "La valeur '1' n'est pas valide pour 'Value'. 'Value' doit être compris entre 'minimum' et 'maximum'. 
    Nom du paramètre : Value"


    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      17 septembre 2017 à 13:07:33

      Salut :)

      Et bien, le problème parais tout bête à première vue, mais peut être me trompé-je...

      La, le message d'erreur dit clairement que les valeurs 1 et -1 ne sont pas accepté. Vérifie un peu les valeurs Maximum et Minimum que ta progressbar peut accepter. Ca se passe peut être aussi dans ton code.

      Je n'ais pas tester, mais on dirait que tu veux télécharger un fichier avec un indicateur du niveau de téléchargement (?). Si c'est le cas, il y a d'autre façon de faire qu'avec une WebBrowser, qui selon moi son meilleur (corrigez moi si je me trompe), et même si tu réalise un Navigateur internet, comme utiliser un WebClient, qui plus est, à une fonction qui retourne un pourcentage de téléchargement, que l'on peut utiliser dans le paramètre value de ta progressbar.

      • Partager sur Facebook
      • Partager sur Twitter

      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

      Anonyme
        17 septembre 2017 à 13:39:20

        Salut, oui j'ai déjà regardé dans minimum est maximum et il n'y a pourtant rien qui pourrait empêcher de fonctionner, j'ai aussi essayé de re cliquer sur déboguer, le programme et la toolstripprogressbar fonctionne pendant quelques secondes et le message d'erreur revient 

        pas télécharger un fichier proprement dis, mais télécharger la page (qui est aussi un fichier) :)

        -
        Edité par Anonyme 17 septembre 2017 à 15:18:49

        • Partager sur Facebook
        • Partager sur Twitter
          17 septembre 2017 à 20:42:55

          Pour télécharger la page web, j'ai utiliser un WebClient, inspire toi de cet exemple :

          Imports System.Net
          
          Public Class Form1
          
              Public WithEvents downloader As WebClient
          
              Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
                  WebBrowser1.Navigate("https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal")
              End Sub
          
              Public Sub DownloadStart()
                  downloader = New WebClient
                  downloader.DownloadFileAsync(New Uri("https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Accueil_principal"), "MaPage.html")
              End Sub
          
              Private Sub downloader_DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Handles downloader.DownloadProgressChanged
                  ProgressBar1.Value = e.ProgressPercentage
              End Sub
          
              Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
                  DownloadStart()
              End Sub
          End Class
          

          Comme ça, tu télécharger un fichier, et du affiche la progression de téléchargement avec la progressbar. J'utilise généralement le WebClient pour faire des choses comme ça, c'est pour ça que je te propose ma version. Mais il y en a surement d'autres :)

          -
          Edité par vanaur 17 septembre 2017 à 20:43:34

          • Partager sur Facebook
          • Partager sur Twitter

          Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

          Anonyme
            17 septembre 2017 à 22:19:36

            ok j'essayerai , mais sinon tu sais pas trop pourquoi sa m'affiche -1 etc ...?
            • Partager sur Facebook
            • Partager sur Twitter
              17 septembre 2017 à 22:44:59

              Excuse moi, j'ai donné du code de mes archives un peu trop vite, et je me doute bien que ca ne t'aide pas à comprendre.

              La propriété CurrentProcess, appartenant au control WebBrowser vérifie le nombre totale de bytes dans le document en cours de téléchargement (donc, le nombre de byte augmente jusqu'à ce que tout le fichier sois passé), le nombre total de bytes dans un document est un chiffre "aléatoire", qui peut être plus grand ou plus petit que la valeur accepté par la propriété value d'une progressbar, par exemple : ton document fait 10020 bytes (octets), et tu veux afficher cette valeur dans ta progressbar, la valeur étant tops grande, dépassant les 100% de la propriété value, le programme génèrera une erreur. Mais comme je l'ais dit, je n'utilise pas la WebBrowser pour télécharger des fichiers. Si tu veux garder ton code et ta webbrowser tel quel, il y a une alternative (que je n'ais pas encore pu tester) :

              If not e.CurrentProgress = -1 AND e.CurrentProgress < ProgressBar1.Maximum Then
                  ProgressBar1.value = e.CurrentProcess
              End If
              
              

              Cela t'évite donc les erreurs de dépassements de valeur. (code tiré d'ici : https://social.msdn.microsoft.com/Forums/en-US/a9bb7b70-1c73-4b34-b66b-cfe2a0d2a9e2/progress-bar-issue?forum=vbgeneral)

              • Partager sur Facebook
              • Partager sur Twitter

              Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

              Anonyme
                17 septembre 2017 à 23:30:20

                si j'ai bien compris e.CurrentProgress est un nombres pas très précis qui peut être au dessus ou en dessous (mais ça encore sa gêne pas trop) de la valeur Maximum indiquer par e.MaximumProgress ? , mais pourquoi e.currentprogress est de -1 même quand il y à aucun document à télécharger et pas simplement 0 et aussi indiquer un peu mieux l'erreur que mettre -1 lol ? :)

                -
                Edité par Anonyme 17 septembre 2017 à 23:43:01

                • Partager sur Facebook
                • Partager sur Twitter
                  18 septembre 2017 à 17:29:25

                  Ha oui, désoler, j'ai oublier la value qui prend -1 ^^'

                  Comme je te l'ais dit, CurrentProgress est un nombre qui change en fonction du nombre d'octets en cours de téléchargement, mais quand le fichier à télécharger, est téléchargé, CurrentProgress prend comme valeur "-1", ce qu'on peut traduire par "téléchargement terminé" :)

                  EDIT:

                  > ... e.CurrentProgress est un nombres ...

                  e = System.Windows.Forms.WebBrowserProgressChangedEventArgs

                  CurrentProgress = Une propriété de "e"

                  Par convention on dit : "La valeur de la propriété "CurrentProgress" de l'objet "e" est un nombre..."

                  Pour ne pas mélanger certaines choses par la suite ;)

                  -
                  Edité par vanaur 18 septembre 2017 à 17:35:02

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                  Anonyme
                    18 septembre 2017 à 18:13:20

                    d'accord donc quand on lance son navigateur et qu'il y a la première page c'est pour ça qu'il y a "l'erreur" , parce-que la première page à fini de charger ? enfin c'est valable aussi pour la suite des navigations :)

                    -
                    Edité par Anonyme 18 septembre 2017 à 18:18:18

                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 septembre 2017 à 19:01:33

                      Possible, mais je ne vois pas trop de quoi tu veux parler :p
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                      Anonyme
                        18 septembre 2017 à 21:56:59

                        bah quand on créer un navigateur il y a bien une page qu'on ouvre grâce au chargement de l'application

                        et une fois quelle est charger il y a "l'erreur" , tu vois ou pas ? :)

                         Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                        
                          Me.WebBrowser1.Navigate("http://www.google.fr/")
                        
                        end sub

                        -
                        Edité par Anonyme 18 septembre 2017 à 21:57:39

                        • Partager sur Facebook
                        • Partager sur Twitter
                          19 septembre 2017 à 17:27:52

                          Ha, tu veux dire une erreur comme celle-ci :

                          Sinon, non je ne vois pas 

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                          Anonyme
                            19 septembre 2017 à 18:13:56

                            non pas celle là lol, pas grave jme comprends. quand tu lance ton navigateur tu à bien une page de démarrage par exemple Google et quand cette page à finit de charger e.currentprogress devient -1 et exécute l'événement webbrowser.progresschanged et qui ensuite génère l'erreur ""La valeur '-1' n'est pas valide pour 'Value'. 'Value' doit être compris entre 'minimum' et 'maximum'. "  et qui bloque l'application , d'ou il faut faire 

                            If not e.CurrentProgress = -1 AND e.CurrentProgress < ProgressBar1.Maximum Then
                                ProgressBar1.value = e.CurrentProcess
                            End If

                            pour que l'application reste pas bloquer par "l'erreur" c'est bien ça ?

                            mais sinon jveux bien une explication à propos de ton image :) 

                            • Partager sur Facebook
                            • Partager sur Twitter
                              19 septembre 2017 à 19:33:57

                              Haaaa xD Je comprend ^^

                              Comme quoi un p'tit bout de code est mieux qu'une grande explication xD :D

                              Oui, donc ce code permet en effet de ne pas faire "planter" le programme, en lui indiquant donc les valeurs qu'ils peut prendre : tout sauf -1 et 100.

                              mais sinon jveux bien une explication à propos de ton image :) 

                              Tu ouvre google chrome (si tu l'as bien sur, mais je pense que ca fonctionne aussi avec Firefox, voir Edge), et tu fais CTRL+MAJ+I, tu inspecte la page quoi, si tu es sous Google Chrome, tu vois qu'au dessus de la petite fenêtre qui s'est ouverte un certain nombre d'erreur, tu vas dans l'onglet "console" pour voir les messages, et chez moi ca donne ça (sous google chrome) :

                              Et bien ça, ce sont les erreurs qu'a rencontré le navigateur internet sur cette page, le système d'affichage d'erreur pour la WebBrowser de Microsoft (IE) qu'utilise le Framework .NET affiche les erreurs en mode "brutal" comme je dirais-ca, en effet, une boite de dialog s'affiche, comme une erreur de Débogage. Il est possible de les rendre "disable" selon un paramètre (me souvient plus du nom).

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                              Anonyme
                                19 septembre 2017 à 19:47:09

                                ok d'accord donc ce n'est pas grave mais c'est casse-pied la boite s'affiche en pleine face lol... , merci pour tout ;)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  19 septembre 2017 à 20:12:25

                                  Gusus a écrit:

                                  ok d'accord donc ce n'est pas grave mais c'est casse-pied la boite s'affiche en pleine face lol... , merci pour tout ;)


                                  Tu peux la désactivé ;)

                                  Et de rien :D

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                                  Anonyme
                                    19 septembre 2017 à 20:14:49

                                    ok jvais chercher ça ;)
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    message d'erreur ToolStripProgressbar

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown