blinklimp
Messages postés2Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention28 juillet 2009
-
27 juil. 2009 à 15:39
blinklimp
Messages postés2Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention28 juillet 2009
-
28 juil. 2009 à 08:43
Bonjour a tous
Voici mon probleme. J'ai une listview ou j'affiche les images contenu dans un dossier precis. j'ai creer un bouton delete pour pouvoir effacer une image que l'on selectionne dans la listview. Je voudrais pouvoir supprimer a la fois l'image dans la listview mais egalement l'image dans son dossier.
Je n'ai pas eu trop de probleme pour realiser la premiere partie (effacement de l'image dans la listview) mais ca ce complique pour le reste.
Voici ce que je fais pour effacer l'image de la listview:
Private Sub btnDeleteSelected_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteSelected.Click
[color=blue] Dim patientDirectory As String = txtLastName.Text & " " & txtFirstName.Text
Dim SelectedImageIndex As Integer = ListView1.FocusedItem.ImageIndex
Dim name As String = ListView1.Items.Item(SelectedImageIndex).Text
Dim path As String = "D:\the big one test 3\Patients" & patientDirectory & "" & name & ".bmp"
The process cannot access the file 'D:\the big one test 3\Patients\Melki Alex\Test_003.bmp' because it is being used by another process.
Je vois bien qu'il m'aime pas le faite que je lui demande d'effacer un fichier dont le chemin n'est plus valide parce que l'image n'est plus dans la listview.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 27 juil. 2009 à 20:30
Salut,
Te casse pas la tête utilise la propriété Tag pour stocker l'emplacement de l'image sur le disque.
Exemple :
'Chargement
Dim ImageDirectory As New IO.DirectoryInfo("Chemin du dossier d'image")
'
Dim ImageFiles() As IO.FileInfo = ImageDirectory.GetFiles("*.jpg")
'
For Each ImageFile In ImageFiles
'
Dim img As New Bitmap(ImageFile.FullName)
ImageList1.Images.Add(ImageFile.Name, img)
Dim Index As Integer = ImageList1.Images.Count - 1
ImageList1.Images(Index).Tag = ImageFile.FullName
ListView1.Items.Add(ImageFile.Name, Index)
'
Next
'Supression
If Not ListView1.SelectedItems.Count = 0 Then
Dim Index As Integer = ListView1.FocusedItem.ImageIndex
Try
Dim File As String = ImageList1.Images(Index).Tag
IO.File.Delete(File)
ListView1.Items.RemoveAt(Index)
Catch ex As Exception
MsgBox("Impossible de supprimer cette image, celle-ci est en cour d'utilisation par une autre application.")
End Try
End If
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.