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 :

[VB.NET] Impossible de supp fichier affiché dans PICTUREBOX


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut [VB.NET] Impossible de supp fichier affiché dans PICTUREBOX
    Bonjour à tous.

    Dans mon application, lors de la creation d'une fiche, je donne la possibilité d'ajouter une image, et qui s'affiche dans une PICTUREBOX.
    Le fichier est ensuite copié dans un repertoire de stockage.

    Lorsque l'utilisateur supprime une fiche, je veux que le fichier de l'image associé soit elle aussi supprimé.

    Mon probleme est qu'il me dit à chaque fois que le fichier est en cours d'utilisation, et je ne peux pas le supprimer.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            If Not (ptbAffiche.Image Is Nothing) Then
                ptbAffiche.Image.Dispose()
                ptbAffiche.Image = Nothing
                File.Delete(DataViewSupp.Item(0).Item("Image"))
            End If
    Avez-vous une idée ?

    Merci.

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    T'es en mode debbug peut être
    en tout cas sur le principe tu as du ouvrir ton fichier à un moment donc il faut arrêter le handle sur ce fichier avant de le supprimer
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    OK !!

    Mais comment j'arrete le HANDLE ?
    Et oui effectivement, je suis en mode DEBUG.

    Merci.

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par stephane93fr
    OK !!

    Mais comment j'arrete le HANDLE ?
    Et oui effectivement, je suis en mode DEBUG.

    Merci.
    si tu ferme ta form dans le designer avant d'executer çà te le fait toujours :
    sinon mets moi le code qui recupère l'image dans le fichier pour savoir comment il est ouvert
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Comme je ne peux pas fermer la FORM, je te donne mon code qui me permet d'afficher l'image dans ma PICTUREBOX.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            Dim Dlg As New OpenFileDialog
            Dim MyImage As Bitmap
     
            Dlg.Filter = "Fichiers image (*.JPEG;*.JPG)|*.JPEG;*.JPG"
     
            If Dlg.ShowDialog() = DialogResult.OK Then
                folderImage = Dlg.FileName
                MyImage = New Bitmap(folderImage)
                ptbAffiche.Image = CType(MyImage, Image)
            End If
    Ensuite, quand l'utilisateur valide la creation de la fiche je copie l'image selectionnée dans un repertoire de stockaga avec la commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            File.Copy(folderImage, exedir & imgFile & temp, True)
    Enfin, en mode lecture, j'affiche l'image de la facon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                folderImage = DataViewSelect.Item(0).Item("Image")
                Dim fi As New FileInfo(folderImage)
                Dim MyImage As New Bitmap(folderImage)
                ptbAffiche.Image = CType(MyImage, Image)
    [quote]
     
    J'espere que cela te suffira.
     
    Merci pour ton aide.[/quote]

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par stephane93fr
    Comme je ne peux pas fermer la FORM...
    Comment çà tu peux pas fermer la fenêtre du mode design : : :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Eu si, excuse moi je me suis trompé !!
    Je viens de faire le teste, c'est toujours pareil, il me dit que le fichier est en cour d'utilisation.

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Dlg.ShowDialog() = DialogResult.OK Then 
                folderImage = Dlg.FileName 
                MyImage = New Bitmap(folderImage) 
                ptbAffiche.Image = CType(MyImage, Image) 
    End If
    C'est là que çà se joue je crois
    je te propose d'utiliser plutôt le Constructeur Bitmap (Stream)
    le stream doit rester ouvert pendant la durée de vie de l'objet Bitmap
    mais ensuite il suffura de le fermer le moment venu dès que l'objet Bitmap en question n'a plus de raison d'être; celà liberera le fichier
    • Stream.Close
    • ptbAffiche.Image.Dispose

    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup, ca marche maintenant !!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/01/2011, 00h21
  2. Chemin complet d'un fichier affiché dans une listBox
    Par Djang0 dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/08/2009, 10h47
  3. Choisir type de fichiers affichés dans "parcourir"
    Par kiranis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 28/11/2007, 15h11
  4. Réponses: 2
    Dernier message: 14/04/2006, 11h20
  5. [VB.NET] Suppression d'un fichier chargé dans un WebBrowser
    Par Vonotar dans le forum Windows Forms
    Réponses: 9
    Dernier message: 27/09/2004, 11h09

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