IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

ProgressBar installation de logiciel


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Par défaut ProgressBar installation de logiciel
    Bonne année a tout le monde
    J'ai besoin d'aide s'il vous plait

    Je veux créer une interface pour installer plusieurs logiciels en même temp, en mode silent

    Et je veux ajouter une progress bar pour voir l' avancement de chaque installation.

    1 - le code pour installation des logiciels est OK, mais progressbar n'affiche rien.
    ma question est :
    Comment ajouter progressbar pour voir l'avancement de l'instalation de chaque logiciel ?
    merci d'avance
    voici mon Code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Public Class Form1 
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
            BackgroundWorker1.RunWorkerAsync() 
     
        End Sub 
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
            Control.CheckForIllegalCrossThreadCalls = False 
        End Sub 
     
        Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork 
            Dim p As New Process 
            BackgroundWorker1.ReportProgress() 
            System.Threading.Thread.Sleep(100) 
            p.StartInfo.FileName = "cmd.exe" 
            p.StartInfo.Arguments = "/c start C:\Users\Computer\Desktop\vlc\vlc-2.2.1-win32.exe /S" 
            p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden 
            p.Start() 
            System.Threading.Thread.Sleep(100) 
     
     
     
        End Sub 
     
        Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged 
            ProgressBar1.Value = e.ProgressPercentage 
     
        End Sub 
     
        Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted 
     
            Label1.Text = "Success" 
        End Sub 
    End Class

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Control.CheckForIllegalCrossThreadCalls = False
    cette ligne de code est "interdite"
    (au passage il y a une balise pour la mise en forme du code sur le forum)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BackgroundWorker1.ReportProgress(pct)
    il faut mettre une valeur sur cette ligne de code, et c'est cette valeur qui sera dans e.ProgressPercentage dans l'autre évènement
    le progressbar n'est en rien magique, il ne devine pas quand ce que tu veux lui faire gérer sera fini (ni sur quelle partie de ton code il porte)
    il faut l'appeler à chaque fois que tu veux que ca avance, pour ca il faudrait donc que tu puisses savoir où ça en est, ce qui n'est pas forcément simple je pense
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Par défaut
    merci pour votre repense
    pourquoi cette ligne de code est "interdite" ***Control.CheckForIllegalCrossThreadCalls = False*** ?

    vous pouvez me donnè un exemple SVP (niveau débutent) ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    c'est précisé sur l'aide (msdn)
    cette ligne sert à débugger pour trouver à quel endroit de son code on fait un appel cross thread (thread seconde qui modifie l'interface)
    mais elle peut provoquer une instabilité

    sans cette ligne l'application plante si on fait du cross thread
    les débutants s'en servent car le mécanisme des threads n'est pas forcément intuitif, mais il n'est pas insurmontable
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Par défaut
    vous pouvez m expliquer comme faire ?
    et comment calcule le temps du processus externe (installation une logiciel en silen) .

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    si l'install n'est pas prévue pour dire où elle en est tu ne pourras pas le deviner
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Absence d'aide sur Visual Basic
    Par Girvy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/01/2008, 11h03
  2. [VB6] Aide de visual Basic
    Par Spiritkiller dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/05/2006, 12h33
  3. Aide sur visual basic?? Quelqu'un peut-il m'aider?
    Par lilipika dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/03/2006, 15h03
  4. [VBA-E]aide sur visual basic
    Par jaroddu94 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/02/2006, 13h59
  5. contrôle data sur visual basic 6.0
    Par Silent Thunder dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 29/03/2005, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo