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 :

Supprimer picturebox dynamique


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Points : 72
    Points
    72
    Par défaut Supprimer picturebox dynamique
    Bonjour, j'essai de supprimer des picturebox dynamique d'une liste, mais après avoir "clear" ma liste les picturebox sont toujours visible sur le formulaire :

    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
    50
    51
    52
    53
    54
    55
    56
    57
    Public Class Form1
        Public lstDiament As New List(Of Diamant)
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Chargement.Parent = Plateau
            PlacerDiamant(True)
        End Sub
     
        ' ### Placement des diamants au hasard sur le plateau de jeu
        Public Sub PlacerDiamant(ByVal load As Boolean)
            Dim numero As Integer = 5
            Dim rand As New Random
            Dim i As Integer = 0
     
            ' Boucles verticale / horizontale de placement des diamants
            For a As Integer = 0 To 5
                For b As Integer = 0 To 10
                    If load = False Then numero = rand.Next(0, 4)
                    lstDiament.Add(New Diamant With {.ID = i, .Fen = Me, .numero = numero, .XY = New Point With {.X = b * 40 + 24, .Y = a * 40 + 24}})
                    lstDiament(lstDiament.Count - 1).ajoutDiamant()
                    i = i + 1
                Next
            Next
     
        End Sub
     
        ' ### Supprime les diamants gris et ajout des diamants couleur
        Private Sub NouveauToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NouveauToolStripMenuItem.Click
            lstDiament.Clear()
            PlacerDiamant(False)
        End Sub
     
    End Class
     
    Public Class Diamant
        Property numero As Integer
        Property ID As Integer
        Property XY As Point
        Property imgDiamant As PictureBox
        Property Fen As Form1
     
        ' ### Ajout du diamant en fonction de sa couleur et son emplacement
        Public Sub ajoutDiamant()
            If numero = 0 Then
                imgDiamant = New PictureBox With {.Location = XY, .Image = Fen.DiaBleu.Image, .Parent = Fen.Plateau, .Width = 34, .Height = 35, .BackColor = Color.Transparent}
            ElseIf numero = 1 Then
                imgDiamant = New PictureBox With {.Location = XY, .Image = Fen.DiaVert.Image, .Parent = Fen.Plateau, .Width = 34, .Height = 35, .BackColor = Color.Transparent}
            ElseIf numero = 2 Then
                imgDiamant = New PictureBox With {.Location = XY, .Image = Fen.DiaRouge.Image, .Parent = Fen.Plateau, .Width = 34, .Height = 35, .BackColor = Color.Transparent}
            ElseIf numero = 3 Then
                imgDiamant = New PictureBox With {.Location = XY, .Image = Fen.DiaJaune.Image, .Parent = Fen.Plateau, .Width = 34, .Height = 35, .BackColor = Color.Transparent}
            Else
                imgDiamant = New PictureBox With {.Location = XY, .Image = Fen.DiaGris.Image, .Parent = Fen.Plateau, .Width = 34, .Height = 35, .BackColor = Color.Transparent}
            End If
        End Sub
     
    End Class
    En gros, après un lstDiament.Clear() qui lstDiament référence les images, la liste est bien vide mais j'ai toujours les images visibles sur le formulaire.

    Voila si une personne pourrais m'aider je comprend pas...

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonjour,

    Il faut enlever le control de la liste du conteneur parent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls.Remove(tonControlAEnleverContenuDansTaListe)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDiamant.imgDiamant.Dispose()

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Points : 72
    Points
    72
    Par défaut
    Merci je me suis servi du Dispose() cela fonctionne à merveille

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

Discussions similaires

  1. Drag'nDrop sur PictureBox dynamiques
    Par Paounet dans le forum VB.NET
    Réponses: 0
    Dernier message: 18/03/2012, 13h06
  2. [VB6]comment supprimer dynamiquement un controle dynamique?
    Par totor le troll dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/07/2011, 21h10
  3. Gérer evenements picturebox dynamique
    Par Persnip77 dans le forum Langage
    Réponses: 2
    Dernier message: 10/06/2011, 16h41
  4. [VS2003][CR] Modifier PictureBox dynamiquement ?
    Par mainecoon dans le forum SDK
    Réponses: 1
    Dernier message: 06/12/2006, 19h01
  5. Ajouter/Supprimer un select dynamiquement
    Par n@n¤u dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/06/2006, 10h22

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