Background image dans form

Résolu
papayou12
Messages postés
48
Date d'inscription
mercredi 4 septembre 2013
Statut
Membre
Dernière intervention
12 juin 2014
- Modifié par Whismeril le 12/04/2014 à 12:00
 Erlin - 2 janv. 2015 à 13:13
Bonjour,
voila je suis bloqué j'ai un bouton pour sélectionner une image et le mettre en fond d'écran dans ma form1 puis le sauvegarder pour quand ont ré-ouvre l'application ont retrouve notre fond d'écran.
Sa marche le premier coup et aprés si on veut rechanger il me mes un message d'erreur :

\WindowsApplication1\WindowsApplication1\bin\Debug\logo.jpg', car il est en cours d'utilisation par un autre processus.

voila le code :

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ChangeBackground()
end sub

Private Sub Label15_Click(sender As Object, e As EventArgs) Handles Label15.Click
        Dim Fich As OpenFileDialog = New OpenFileDialog
        If Fich.ShowDialog() Then
            Me.Text = Fich.FileName
            FileCopy(Fich.FileName, Application.StartupPath & "\logo.jpg")
            ChangeBackground()
        End If
    End Sub

    Private Sub ChangeBackground()
        If File.Exists(Application.StartupPath & "\logo.jpg") = True Then
            Me.BackgroundImage = Image.FromFile(Application.StartupPath & "\logo.jpg")
        End If
    End Sub

merci d'avance pour votre réponse

7 réponses

Whismeril
Messages postés
17326
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2022
596
12 avril 2014 à 12:00
Déplacé vers VB.Net, et ajout des balises de coloration syntaxique, voir ici
0
Whismeril
Messages postés
17326
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 mai 2022
596
12 avril 2014 à 12:02
A quelle ligne as tu le message d'erreur?
0
Merci d'avoir répondu j'ai l'erreur au niveau de filecopy
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Modifié par ucfoutu le 12/04/2014 à 17:22
Bonjour,
Je ne connais personnellement rien à VB.Net ===>> Je consulte donc MSDN ===>>
http://msdn.microsoft.com/fr-fr/library/4sahykhd%28v=vs.110%29.aspx
===>> je lis ===>> j'y vois :

Le fichier reste verrouillé tant que Image n'a pas été supprimé.
J'en déduis qu'il me faut libérer l'image d'abord ===>
Comme je suis curieux, bien que non VB.Nettiste et ne connaissant rien à VB.Net, je regarde (toujours dans MSDN) ce qu'est la classe image ===>>
http://msdn.microsoft.com/fr-fr/library/system.drawing.image%28v=vs.110%29.aspx
===>> j'y vois une méthode Dispose quit dit : "Libère toutes les ressources utilisées par ce Image." ===>> j'ouvre cette rubrique ===>> j'arrive là ===>>
http://msdn.microsoft.com/fr-fr/library/8th8381z%28v=vs.110%29.aspx
je lis . Cela me parait maintenant très clair et compréhensible.
Voilà


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
papayou12
Messages postés
48
Date d'inscription
mercredi 4 septembre 2013
Statut
Membre
Dernière intervention
12 juin 2014

12 avril 2014 à 17:35
c'est bien ça le problème je n'arrive pas as supprimer l'image au moment de l'ouverture de l'openfiledialogquand je click sur mon label
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
12 avril 2014 à 17:44
"c'est bien ça le problème je n'arrive pas as supprimer l'image au moment de l'ouverture de l'openfiledialogquand je click sur mon label"
Ah ?
Et avec quel code (je ne le vois pas) et où as-tu essayé de libérer cet objet image (apparemment Me.BackgroundImage) ?
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
12 avril 2014 à 17:51
D'instinct (après lecture des liens MSDN que je t'ai invité à lire, puisque je ne connais rien à VB.Net) ===>>
 me.backgroundimage.dispose()

me.backgroundimage = nothing
avant même le openfiledialog
0
papayou12
Messages postés
48
Date d'inscription
mercredi 4 septembre 2013
Statut
Membre
Dernière intervention
12 juin 2014

12 avril 2014 à 18:07
parfait merci sa fonctionner nikel
0
papayou12
Messages postés
48
Date d'inscription
mercredi 4 septembre 2013
Statut
Membre
Dernière intervention
12 juin 2014

12 avril 2014 à 18:09
comment ont mais en résolu
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Modifié par ucfoutu le 12/04/2014 à 18:30
En cliquant sur le tag "RESOLU" au niveau de ton tout premier message.
Je viens de le faire pour toi.
0
papayou12
Messages postés
48
Date d'inscription
mercredi 4 septembre 2013
Statut
Membre
Dernière intervention
12 juin 2014

12 avril 2014 à 18:54
ok merci
0
Merci pour le "Backgroundimage.dispose()". C'est exactement ce qu'il me manquait pour mon code j'avais le même type d'erreur.
0