none
Progress Bar de style Marquee ne fonctionne pas bien. RRS feed

  • Question

  • Bonjours!

    Je ne comprend pas pourquoi ma progress bar ne "progress" pas du tout.  Voici mon code :

    Code Snippet

    ProgressBarLauncher.Style = ProgressBarStyle.Marquee
            Try
                While True
                    Application.DoEvents()
                    ProgressBarLauncher.Update()
                    For Each p In Process.GetProcesses()

                        If p.ProcessName.ToLower = myProcess.ToLower Then
                            Exit Sub
                        End If
                    Next p
                    If Now > time.AddSeconds(60) Then
                        Application.DoEvents()
                        MsgBox("Unable to load the software, try again", MsgBoxStyle.Information)
                        Exit Sub
                    End If
                End While
            Catch ex As Exception
                MsgBox(ex.ToString(), MsgBoxStyle.Critical)
                End
            Finally
                'In case the main form gets behind whatever is opening.
                'Me.Show()
                'Me.Activate()
                'ProgressBarLauncher.Hide()
            End Try


    Des suggestions?
    Merci!
    mercredi 23 janvier 2008 13:47

Réponses

Toutes les réponses

  • Il semblerait que ton application prend beaucoup plus de process et n'est pas capable de mettre à jour convenablement la progressbar.

    mercredi 23 janvier 2008 14:09
    Modérateur
  • J'ai découvert un problème est étrange.  Si je configure mon progressbar pour etre de style marquee dès le début de mon programme, cela ne fonctionne pas mieux.  Il n'y a rien qui bouge

    Comme test, j'ai démaré un nouveau projet avec nouvelle form en y mettant une progress bar de style marquee.. Et la au démarrage, la progress bar fonctionne..  Alors à mon avis, il doit avoir quelque chose qui entre en conflit avec ma progress bar dans mon projet initial....
    mercredi 23 janvier 2008 14:19
  • Je commence à suspecter que ce problème vient du fait que c'est un projet 2002 que j'ai convertie en 2005...
    mercredi 23 janvier 2008 14:26
  • J'ai déjà eu ce type de problème avec le marquee, c'est que si tu le mets sur une form ou il n'y a aucun traitement, le marquee fonctionne bien parce que l'application ne fait que mettre à jour son interface et ne calcule rien. Par contre, si je le mettais sur une form et que chargeais des choses en arrière-plan, il ne se mettait pas à jour, malgré le fait que j'utilisais le DoEvents(Les autres contrôles se mettait à jour, sauf le marquee).

     

    La solution fut découverte lorsque l'on s'apercu qu'il existait le contrôle BackgroundWorker, on chargeait le tout dans un autre thread et mettait facilement l'interface à jour et sans gêner son exécution. De plus, on a amélioré le temps de chargement de beaucoup.

     

    Je ne crois pas que ce soit à cause que tu as converti ton projet, car maintenant qu'il est converti, il utilise amplement le framework .Net 2.0. 

    mercredi 23 janvier 2008 14:46
    Modérateur