dans mon application Windows il y a un processus de sauvegarde de l'image.je peux enregistrer différentes images.les détails des images seront vus dans une grille, quand je clique sur la ligne correspondante dans la grille l'image sera affichée dans une image Je veux supprimer l'image ouverte en appuyant sur la touche d'effacement. J'ai utilisé le code "deletefile (path)" pour cette opération, mais il y a une erreur "Ce fichier est utilisé par un autre processus." si quelqu'un connaît la solution pour ce problème s'il vous plaît aidez-moi. merci.image est utilisé par un autre processus
Répondre
Ouvrez le fichier image en utilisant Image.FromStream et assurez-vous que close le stream après le chargement de l'image. De cette façon, vous ne devriez pas avoir de verrous sur le fichier.
Ajouté après commentaire.
Je n'ai pas Visual Studio sous la main et je suis un C# gars mais il devrait ressembler à quelque chose comme ça.
Dim stream As New FileStream(specified_path, FileMode.Open)
Dim image As Image = Image.FromStream(stream)
picturebox1.image = image
stream.Close()
Avez-vous une référence à un objet Bitmap créé à partir de ce fichier? Si c'est le cas, l'objet Bitmap verrouille le fichier et vous empêche de le supprimer.
Le problème n'est pas où vous supprimez votre fichier, il réside dans la façon dont vous ouvrez votre image pour l'afficher. Pourriez-vous ajouter un code indiquant comment vous chargez votre image?
Lorsque vous chargez une image à l'aide de la liste de quelque chose Bitmap.FromFile, l'objet Bitmap conserve un verrou sur le fichier jusqu'à ce qu'il soit éliminé. Vous pouvez donc simplement utiliser le
using(Bitmap bmp = Bitmap.FromFile(path))
{
/* The code using the bitmap to display it goes here */
}
construire pour le forcer à libérer le fichier une fois que vous n'en avez pas besoin. Cela l'empêchera de se verrouiller. La raison pour laquelle il se verrouille est qu'il ne charge pas tout le bitmap en mémoire lorsque vous créez l'objet bitmap, il le charge paresseusement à la demande, il doit donc garder un verrou sur le fichier.
je peux, t understand.please me dire detail.please – user85511
i en utilisant ce code pour ouvrir l'image au picturebox "PictureBox1.Image = Image.FromFile (chemin spécifié) – user85511
Je suppose que vous avez afin de maintenir une référence à l'image de charger en tant qu'attribut: img = Image.FromFile (path); PictureBox1.Image = img; et avant la suppression de l'image: PictureBox1.Image = null; img.Dispose() img = null; /* Supprimer le fichier */ – Locksfree
- 1. Suppression de fichiers image dans un répertoire (pouvant être utilisé par un autre processus)
- 2. Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus
- 3. comment copier un fichier qui est utilisé par un autre processus en C#
- 4. Enregistrement de flux XML en C# dit qu'il est utilisé par un autre processus
- 5. Est-il possible de changer le modèle de processus utilisé par un projet d'équipe TFS?
- 6. Python - Comment vérifier si un fichier est utilisé par une autre application?
- 7. Est-il possible pour UAC élever un processus sans démarrer un autre processus
- 8. Vider par programme un grand fichier texte en cours d'utilisation par un autre processus
- 9. Quelle est la meilleure méthode (la moins impactante?) Pour lire un fichier écrit par un autre processus?
- 10. Vérifier si un fichier est ouvert à partir d'un autre processus
- 11. Recevoir un message d'un autre processus
- 12. linux: obtenir par programme le pid parent d'un autre processus?
- 13. Identifiez si un fichier (dll/exe) est verrouillé ou non par un processus ou une bibliothèque
- 14. Ouverture d'une base de données MS Access à partir de VB utilisé par un autre utilisateur
- 15. Pouvez-vous rendre une fenêtre Direct3D pour un processus dans un autre processus 'HWND?
- 16. Créer un nouveau processus indépendant à partir d'un autre processus C
- 17. Comment exécuter un autre processus en mode débogage?
- 18. Quel framework GUI est utilisé par l'application "Spybot Search & Destroy"?
- 19. Quel est le codage utilisé par std :: string.c_str()?
- 20. Quel est le but du répertoire Create utilisé par Tarantino?
- 21. Est-il possible de rechercher par programme quel processus verrouille un fichier sur un réseau
- 22. L'interpréteur utilisé par l'application django
- 23. triez un dictionnaire par un autre dictionnaire
- 24. processus de connexion à un autre processus pour recueillir des informations de profil?
- 25. Modification de la disposition du clavier pour un autre processus
- 26. Quel est le moyen le plus rapide de dessiner une image sur une autre image?
- 27. Faire pivoter un point par un autre point en 2D
- 28. Débloquer un thread d'un autre processus, en C++
- 29. Vérifier la variable d'environnement dans un autre processus?
- 30. Modification d'une autre locale de processus
mon code est comme ceci my.computer .filesystem.deletefile (chemin) – user85511
i en utilisant ce code pour ouvrir l'image au picturebox " PictureBox1.Image = Image.FromFile (chemin d'accès spécifié) comment puis-je utiliser la Methode de fromstream et comment il va fermer oui – user85511
cela fonctionne bien, mais l'image qui est affichée sur la zone d'image n'est pas claire – user85511