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

Windows Forms Discussion :

Problème PictureBox et label Génèration automatique [Débutant]


Sujet :

Windows Forms

  1. #1
    Invité
    Invité(e)
    Par défaut Problème PictureBox et label Génèration automatique
    Bonjours,
    Je débute dans la programmation, j'aimerais fait un petit logiciel de dock type rocket dock en moin complet bien sur .

    J'ai mis au point un system d'ajout des dock de la façon suivante :
    - l'utilisateur entre un nom de logiciel qui crée un dossier
    dans ce dossier :
    - un .txt enregistre le lien cible du .exe
    - copie la photo que l'on veut utiliser a l’intérieur en la renomment en .pochette.jpeg

    mon problème étant l'affichage des picturbox et des label automatique, la seul picturebox et label qui s'affiche son le dernière dossier traiter, il doit surement me manquer 1 ou 2 ligne de code, je vous laisse voire par vous même .

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Imports System.ComponentModel
     
     
    Public Class Form1
     
        Dim users As String
        Dim Fichier As String
        Dim nom As String
        Dim Pics As New PictureBox
        Dim Texte As New Label
     
     
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
            users = ("C:\Users\Bryan\Desktop\ModdingDesign\Dock_Gamer\Users\")
            Dim position As Double
            position = 15
     
            For Each Fichier In IO.Directory.GetDirectories(users)
                Dim info As New IO.DirectoryInfo(Fichier)
                nom = info.Name
     
                With Pics
                    .Size = New Size(100, 150)
                    .ImageLocation = (users & nom & "\pochette.jpeg")
                    .SizeMode = PictureBoxSizeMode.StretchImage
                    .Top = 5
                    .Left = position + 100
                End With
     
                With Texte
                    .Text = nom
                    .Top = 160
                    .Left = position + 135
                End With
     
     
                Me.Controls.Add(Texte)
                Me.Controls.Add(Pics)
     
            Next Fichier
     
    End sub
     
    Private Sub AjouterToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AjouterToolStripMenuItem.Click
            Form2.Show()
        End Sub
     
    End Class

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Le fonctionnement est normal, tu ne crées qu'un seul PictureBox et Label au niveau de ta Form.
    Il faut créer une instance de ces controls à chaque itération faute de quoi tu utilises toujours la même :
    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
    36
    37
    38
    39
    40
    41
    42
    Public Class Form1
     
        Dim users As String
        Dim Fichier As String
        Dim nom As String
        Dim Pics As PictureBox
        Dim Texte As Label
     
     
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
            users = ("C:\Users\Bryan\Desktop\ModdingDesign\Dock_Gamer\Users\")
            Dim position As Double
            position = 15
     
            For Each Fichier In IO.Directory.GetDirectories(users)
                Dim info As New IO.DirectoryInfo(Fichier)
                nom = info.Name
                Pics = New PictureBox
                Text = New Label
                With Pics
                    .Size = New Size(100, 150)
                    .ImageLocation = (users & nom & "\pochette.jpeg")
                    .SizeMode = PictureBoxSizeMode.StretchImage
                    .Top = 5
                    .Left = position + 100
                End With
     
                With Texte
                    .Text = nom
                    .Top = 160
                    .Left = position + 135
                End With
     
     
                Me.Controls.Add(Texte)
                Me.Controls.Add(Pics)
     
            Next Fichier
     
    End sub
    J'ai repris ton code tel quel mais tu vas rencontrer d'autres problème dans le positionnement de tes controls (La variable position n'est jamais incrémentée). Tu peux aussi regarder du côté du TableLayoutPanel ou du FlowLayoutPanel pour le positionnement des controls créés dynamiquement.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    J'ai modifier les ligne de code que vous m'avais donner, effectivement maintenant je n'es que le première contrôle qui s'affiche .
    Peut tu m'en dire plus sur "TableLayoutPanel et/ou FlowLayoutPanel " pour que tout s'affiche a la suite .

    J'ai aussi du mal a comprendre comment fait t'on pour déclarer un Click sur un picturebox qui n'existe pas encore .
    Le code du click serais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim chemin = (users & nom)
            Dim exe As New IO.StreamReader(chemin & "\chemin.txt")
            Dim exesave = exe.ReadLine()
            exe.Close()
            Process.Start(exesave)
    Bien a vous .

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'ai compris le fonctionement .

    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
    36
    37
    38
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
            users = ("C:\Users\Bryan\Desktop\ModdingDesign\Dock_Gamer\Users\")
            Dim position As Double
            position = 15
     
            For Each Fichier In IO.Directory.GetDirectories(users)
                Dim info As New IO.DirectoryInfo(Fichier)
                nom = info.Name
     
                Pics = New PictureBox
                Texte = New Label
     
                With Pics
                    .Size = New Size(100, 150)
                    .ImageLocation = (users & nom & "\pochette.jpeg")
                    .SizeMode = PictureBoxSizeMode.StretchImage
                End With
     
                With Texte
                    .Text = nom
                End With
     
                With FlowLayoutPanel1
                    .FlowDirection = FlowDirection.LeftToRight
                End With
     
                With FlowLayoutPanel2
                    .FlowDirection = FlowDirection.LeftToRight
                End With
     
                FlowLayoutPanel1.Controls.Add(Pics)
                FlowLayoutPanel2.Controls.Add(Texte)
     
            Next Fichier
     
     
        End Sub
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 31/05/2011, 09h42
  2. Réponses: 3
    Dernier message: 21/10/2009, 19h28
  3. Problème de génération automatique de fichiers
    Par JeuneJavaiste dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 27/06/2009, 10h36
  4. [Plugin]Gestion de génération automatique de code
    Par Maggic dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/05/2004, 11h35

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