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 :

Nombre de téléchargements aléatoire et ProgressBar


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut Nombre de téléchargements aléatoire et ProgressBar
    Bonjour à tous,


    Je suis en train d'essayer de coder un petit utilitaire de téléchargement pour lequels je souhaiterais afficher le nom du fichier en telechargement et un progressBar.

    Le nombre de fichiers n'est pas connu à l'avance

    Je souhaite savoir comment il est possible de creer le nombre de progressBar en fonction du nombre de téléchargement sans intervention autre de l'utilisateur ?

    Et dans quel contrôle je dois intégrer les progressBar?

    Directement dans le form ca me semble compliqué sans barre de défilement.


    Merci à vous,

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    flowlayoutpanel avec autoscroll à true, tous les progressbar ajoutés dedans seront l'un en dessous de l'autre avec une barre de défilement si nécessaire
    (voir la propriété orientation si c'est de gauche à droite par défaut il faut changer)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    flowlayoutpanel avec autoscroll à true, tous les progressbar ajoutés dedans seront l'un en dessous de l'autre avec une barre de défilement si nécessaire
    (voir la propriété orientation si c'est de gauche à droite par défaut il faut changer)
    Merci pour cette réponse rapide,

    Je ne connais pas ce contrôl, je jette un coup d'oeil pour essayer de trouver un exemple concrêt !

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir Kar2013,

    Pour ta 1ère question tu devras créer des contrôles dynamiquement (sans devoir passer par le designer = pas de drag and drop sur ton formulaire depuis la boite à outils). Ne pas oublier d'ajouter les events liés à tes contrôles dynamiquement aussi. Pour plus d'infos recherche sur google : create control dynamically C#.
    Pour ta 2ème question : tu peux suivre la solution de pol63 mais tu peux aussi ajouter un listview dans lequel tu embarqueras les progressbar dynamiquement :
    http://www.codeproject.com/Articles/...-in-a-ListView
    ou alors tapes ceci dans Google : embedding controls in listview c#

    Voilà tout.

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Bonsoir Kar2013,

    Pour ta 1ère question tu devras créer des contrôles dynamiquement (sans devoir passer par le designer = pas de drag and drop sur ton formulaire depuis la boite à outils). Ne pas oublier d'ajouter les events liés à tes contrôles dynamiquement aussi. Pour plus d'infos recherche sur google : create control dynamically C#.
    Pour ta 2ème question : tu peux suivre la solution de pol63 mais tu peux aussi ajouter un listview dans lequel tu embarqueras les progressbar dynamiquement :
    http://www.codeproject.com/Articles/...-in-a-ListView
    ou alors tapes ceci dans Google : embedding controls in listview c#

    Voilà tout.

    A+

    Merci Wallace1,

    j'étudie ça et reviens vers vous si nécessaire


    bonne soiree

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Bonsoir Kar2013,

    Pour ta 1ère question tu devras créer des contrôles dynamiquement (sans devoir passer par le designer = pas de drag and drop sur ton formulaire depuis la boite à outils). Ne pas oublier d'ajouter les events liés à tes contrôles dynamiquement aussi. Pour plus d'infos recherche sur google : create control dynamically C#.
    Pour ta 2ème question : tu peux suivre la solution de pol63 mais tu peux aussi ajouter un listview dans lequel tu embarqueras les progressbar dynamiquement :
    http://www.codeproject.com/Articles/...-in-a-ListView
    ou alors tapes ceci dans Google : embedding controls in listview c#

    Voilà tout.

    A+
    Bonjour à tous,

    Wallace1, j'ai regardé la solution en C# représente le résulat que je recherche mais je n'ai pas le niveau actuellement en C# pour deployer cette solution.
    Je vais me concentrer sur du VB.net pour éviter de me perdre en route.

    La solution de Pol63 est intéressante

    En cherchant, j'ai trouvé le bout de code ci-après je n'arrive pas à le lancer.


    Est-il possible de le lancer simplement en le collant dans un module ?


    Désolé pour cette question de débutant



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Public Function ListView_AddProgressBar(ByRef pListView As System.Windows.Forms.ListView, ByVal ListViewItemIndex As Integer, ByVal ColumnIndex As Integer) As System.Windows.Forms.ProgressBar
        Dim r As Rectangle
        Dim pb As New System.Windows.Forms.ProgressBar
        r = pListView.Items(ListViewItemIndex).Bounds()
        r.Width = pListView.Columns(ColumnIndex).Width
        If ColumnIndex > 0 Then
        r.X = r.X + pListView.Columns(ColumnIndex - 1).Width
        End If
        pb.Parent = pListView
        pb.SetBounds(r.X, r.Y, r.Width, r.Height)
        pb.Visible = True
        Return pb
        End Function

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    c# et vb.net sont "identiques"
    seule la syntaxe change, il y a des convertisseurs de l'un à l'autre sur des sites

    d'une manière générale il vaut mieux chercher sur google en c# car il y a plus de développeurs donc plus d'aide et d'exemples
    il convient donc de comprendre les différences de base de la syntaxe pour pouvoir lire le c#, ou passer par les convertisseurs ^^


    après n'essaye pas de coller des bouts de code trouvés sur le net ca ne mènera à rien, essaye plutot de décomposer ton problème pour en chercher les solutions, y compris ici si tu formules de questions claires

    sinon il vaudrait mieux lire un tuto sur vb.net avant de coder, ca t'éviteras de bricoler un bout de code qui marchote alors qu'avec quelques dizaines d'heures de lecture tu peux coder ce que tu souhaites en 30 lignes de code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    c# et vb.net sont "identiques"
    seule la syntaxe change, il y a des convertisseurs de l'un à l'autre sur des sites

    d'une manière générale il vaut mieux chercher sur google en c# car il y a plus de développeurs donc plus d'aide et d'exemples
    il convient donc de comprendre les différences de base de la syntaxe pour pouvoir lire le c#, ou passer par les convertisseurs ^^


    après n'essaye pas de coller des bouts de code trouvés sur le net ca ne mènera à rien, essaye plutot de décomposer ton problème pour en chercher les solutions, y compris ici si tu formules de questions claires

    sinon il vaudrait mieux lire un tuto sur vb.net avant de coder, ca t'éviteras de bricoler un bout de code qui marchote alors qu'avec quelques dizaines d'heures de lecture tu peux coder ce que tu souhaites en 30 lignes de code

    Salut Pol63,

    Merci pour ta réponse, je code depuis quelques années en VBA et je me lance dans le bricolage avec le VB.NET, je ne fais pas de copier de code par ci-par là, j'essaye de les comprendre pour les adapter.

    Mais je me heurte aux difficultéx du débutant !

    J'ai commencer à lire pas mal de doc en VB.NET mais certaines notions m'echappent encore

    Désolé,

  9. #9
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Je ne reviendrais pas sur ce qu'a dit Pol63, il a entièrement raison.
    La décomposition d'un problème c'est le B A BA lorsqu'on développe.

    Si tu es débutant alors commence par faire un simple programme qui télécharge 1 fichier grâce à la classe WebClient :
    - 1 formulaire
    - 1 label
    - 1 progressbar

    Ensuite lorsque tu auras réussis tu pourrais envisager d'attaquer la création dynamique de contrôles.
    Ceci est un exemple de code en C# qui créé des boutons dynamiquement dans un panel avec le gestionnaire d'évènement click qui retourne une messageBox lorsque n'importe quel bouton est cliqué ! :

    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
     
    //FIRST : Add a panel (named Pnl) and a button (named createButton) in your main Form. 
     
    private void createButton_click(object sender, EventArgs e)
    {
    	// How many buttons dyou need ?
    	int NumOfButtons = 12;
    	// X Location of each created button in the panel
    	int loc = 20;
    	for (int i = 1; i <= NumOfButtons; i++) {
    		Button btn = new Button();
    		{
    			btn.Name = "Btn-" + i.tostring;
    			btn.Size = new Size(50, 20);
    			btn.Tag = i;
    			btn.Text = "Browse-" + i.tostring;
    			btn.location = new Point(5, loc);
    		}
    		// Add Click event Handler for each created button
    		btn.Click += Buttons_Click;
    		loc += 20;
    		// Add the created btn to panl
    		pnl.Controls.Add(btn);
    	}
    }
     
    private void Buttons_Click(System.Object sender, System.EventArgs e)
    {
    	// Use "Sender" to know which button was clicked ?
    	Button btn = sender as Button;
    	Interaction.Msgbox("Name : " + btn.name + Constants.vbnewline + "Tag : " + Btn.Tag);
    }
    Mon post original ici : http://forums.mydigitallife.info/thr...l=1#post623864

    Breff il suffit de convertir ce code en VBNET grace aux convertisseurs :
    http://www.developerfusion.com/tools.../csharp-to-vb/
    http://converter.telerik.com/



    Enfin lorsque ça te paraîtra envisageable tu pourras combiner le tout.

    PS : tu connais le dicton : Rome ne s'est pas fait en.....

    A+

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par Kar2013 Voir le message
    je code depuis quelques années en VBA
    il va falloir oublier les méthodes, car en .net il faut en adopter des différentes

    Citation Envoyé par Kar2013 Voir le message
    J'ai commencer à lire pas mal de doc en VB.NET mais certaines notions m'echappent encore
    http://plasserre.developpez.com/cours/vb-net/


    un exemple des choses qu'on peut faire :
    une classe qui hérite de progressbar qui demande dans le constructeur le fichier à télécharger, cette classe s'occupant de télécharger et d'afficher la progression sur elle même
    sur le form il te restera juste des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim p as new progressbarDL(url, destPath)
    me.flp.controls.add(p)
    du code propre, lisible et non redondant

    après certains diront qu'il faut séparer le code de l'interface, en windows forms je pense qu'on peut se permettre de mixer pour des petites choses comme ca
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Merci à tous pour vos conseils,

    Je continue à travailler et vous tiens au courant !

    A bientôt,

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Salut à tous,

    J'ai bien avancé sur mon projet et je rencontre une problématique qui me surprend un peu !

    En effet, je suis en train de travailler sur le design du logiciel, pour ce faire j'ai ajouté des fonds de couleur sur la base d'image png...


    Sous l'interface de développement le rendu visuel est agréable. Mais une fois le programme lancé les couleurs deviennent ternes et l'écriture des labels relativement grossière !



    Avez-vous une explication sur ce phénomène et une solution?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    tu aurais 2 captures d'écran ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    tu aurais 2 captures d'écran ?

    Je poste ça en rentrant ce soir !

  15. #15
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Vous trouverez en PJ, le avant/après, je vous laisse deviner l'initial et le compilé.

    Merci pour votre aide
    Images attachées Images attachées  

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    étrange
    vous n'auriez pas un facteur de dpi au dessus de 100% dans windows ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  17. #17
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    étrange
    vous n'auriez pas un facteur de dpi au dessus de 100% dans windows ?
    Non pas du tout !

    ça ne me rassure pas cette histoire

  18. #18
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Enfin, si on parle de la même chose !

    sous windows 8 ça se présente comme sur le fichier en pj.
    Images attachées Images attachées  

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    oui oui on parle de la même chose

    enfin c'est vraiment étrange ce qui t'arrive
    c'est avec un form standard et les controles du framework dans un projet qui était de type windows forms dès le début ?
    si tu fais un nouveau projet ca fait pareil ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  20. #20
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    oui oui on parle de la même chose

    enfin c'est vraiment étrange ce qui t'arrive
    c'est avec un form standard et les controles du framework dans un projet qui était de type windows forms dès le début ?
    si tu fais un nouveau projet ca fait pareil ?
    Oui le form est standard sur la base du framework

    Idem pour les nouveaux projets

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/03/2007, 10h58
  2. Réponses: 2
    Dernier message: 22/12/2006, 14h33
  3. nombre à 8 chiffres aléatoires
    Par forzaxelah dans le forum Delphi
    Réponses: 8
    Dernier message: 09/06/2006, 11h30
  4. Réponses: 8
    Dernier message: 10/05/2006, 22h50
  5. Réponses: 2
    Dernier message: 08/02/2006, 16h54

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