bonjour,
dans mon application je fais afficher des images par le code suivant :
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Dim i, fin As Integer
        Dim photo As String
        'objet de calcul intermédiaire
        Dim calcul As Integer
 
        fin = Me.DGAjoutPhoto.VisibleRowCount - 1
        If fin = 0 Then
            MessageBox.Show("Il n'y a pas d'image pour ce taxon", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Else
            For i = 0 To fin
                Dim Pic(compteur) As PictureBox
                If Not Me.DGAjoutPhoto.Item(i, 0) Is DBNull.Value Or Me.DGAjoutPhoto.Item(i, 0) <> Nothing Then
                    photo = Me.DGAjoutPhoto.Item(i, 1)
                    'test le compteur si compteur = 0, il n'y a pas de photo affichée
                    If compteur = 0 Then
                        'Position de la picturebox
                        x = 32
                        y = 32
                        'instancie la picturebox
                        Pic(compteur) = New PictureBox
                        'dimension par défaut de la picturebox
                        Pic(compteur).Size = New System.Drawing.Size(150, 200)
                        'charge la photo dans la picturebox avec le path de la textbox
                        Pic(compteur).Image = Image.FromFile(photo)
                        'recherche la meilleure dimension de l'image
                        Affichagephoto(Pic(compteur))
                        'localisation de l'image
                        Pic(compteur).Location = New System.Drawing.Point(x, y)
                        'l'image devient visible
                        Pic(compteur).Visible = True
                        'instanciation des variables largeur et hauteur
                        largeur = Pic(compteur).Size.Width
                        hauteur = Pic(compteur).Size.Height
                        'Ajoute la photo au panel
                        Me.PanelAjoutPhoto.Controls.Add(Pic(compteur))
                    Else
                        'Instancie la picturebox
                        Pic(compteur) = New PictureBox
                        'dimension par défaut de la picturebox
                        Pic(compteur).Size = New System.Drawing.Size(150, 200)
                        'calule la position théorique de la nouvelle picturebox
                        calcul = x + largeur + 40
                        'Chargement de la photo dans la picturebox à l'aide du path contenu dans la textbox
                        Pic(compteur).Image = Image.FromFile(photo)
                        'Détermination de la meilleure dimension de la photo
                        Affichagephoto(Pic(compteur))
                        'regarde si la photo tient entièrement dans la ligne
                        If (calcul + Pic(compteur).Width) < 968 Then
                            'Si oui, alors la position x de la picturebox = calcul
                            x = calcul
                        Else
                            'Si non, on passe à la ligne
                            y = y + hauteur + 40
                            x = 32
                        End If
                        'localisation de la picturebox
                        Pic(compteur).Location = New System.Drawing.Point(x, y)
                        'localisation de la textbox
                        Pic(compteur).Visible = True
                        'instancie largeur et hauteur
                        largeur = Pic(compteur).Size.Width
                        hauteur = Pic(compteur).Size.Height
                        'Ajout de la picturebox au panel Ajout Photo
                        Me.PanelAjoutPhoto.Controls.Add(Pic(compteur))
                        'regarde si la position y de la picturebox est dans la partie visible du panel
                        If y > 384 Then
                            'Si oui, alors agrandissement du panel et création d'un autoscroll
                            Me.PanelAjoutPhoto.AutoScroll = True
                            Me.PanelAjoutPhoto.AutoScrollMargin = New System.Drawing.Size(10, y + 200)
                        End If
                    End If
 
                End If
                'Incrémente le compteur à 1
                compteur += 1
            Next i
        End If
Puis, l'utilisateur peut ajouter des photos à celles-ci à l'aide d'un code similaire où il ouvre une une Openfiledialog pour choisir la photo.

J'aimerais aussi que l'utilisateur puisse supprimer des images. Là, je souhaiterais qu'il puisse séléctionner l'image en cliquant dessus et appuyer sur un bouton supprimer pour la supprimer. Mais je ne sais pas comment faire.

Quelqu'un peut-il m'aider et m'indiquer le moyen de réaliser la suppression d'image?

Merci de votre aide à tous.

Botanique