[VB.NET] Sélection d'image pour suppression
bonjour,
dans mon application je fais afficher des images par le code suivant :
Code:
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