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

VB.NET Discussion :

Problème Changement BackGround GroupBox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Par défaut Problème Changement BackGround GroupBox
    Bonjour,
    je suis en train de développer un logiciel où on peux changer le backgroud du groupbox j'utilise ce code là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                Form1.GroupBox1.BackgroundImage = System.Drawing.Image.FromFile(OpenFileDialog1.FileName)
            End If
            OpenFileDialog1.FileName = My.Settings.BackGroundParDefaut ' J'utilise le My Setting Pour sauvegarder le nom du fichier image
    ( Le back ground chosis se charge bien et apparait. )
    A l'ouverture de mon form, je voudrais que le groupbox charge le my setting pour faire apparaitre mon back ground

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GroupBox1.BackgroundImage = System.Drawing.Image.FromFile(My.Settings.BackGroundParDefaut)
    Mais la sa ne marche pas, je me demande donc si il ne faut pas plutôt que de mettre le (fromfile) mettre (fromDirectory) mais sa n'existe pas donc je ne sais pas comment faire :'(

    Merci de votre aide

  2. #2
    Membre éclairé Avatar de carlfil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 38
    Par défaut
    Salut,

    Pourquoi tu ne fais pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim BackGroundParDefaut As Image = Image.FromFile("c:\TonImage.jpg")
            GroupBox1.BackgroundImage = BackGroundParDefaut
            GroupBox1.BackgroundImageLayout = ImageLayout.Stretch

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Bah tu enregistres jamais le nom du fichier dans les settings, tu fais le contraire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OpenFileDialog1.FileName = My.Settings.BackGroundParDefaut
    La tu écrases le FileName du dialogue avec la valeur qui vient des settings, ce qui d'ailleurs ne sert à rien puisque tu as déjà utilisé le FileName juste avant.

    C'est le contraire qu'il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                Form1.GroupBox1.BackgroundImage = System.Drawing.Image.FromFile(OpenFileDialog1.FileName)
                My.Settings.BackGroundParDefaut = OpenFileDialog1.FileName ' J'utilise le My Setting Pour sauvegarder le nom du fichier image
            End If

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Par défaut
    J'ai pris la réponse de tomlev, ^^ merci quand même carlfil
    J'ai un autre soucis maintenant, pour remettre le back ground par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           Form1.GroupBox1.BackgroundImage = System.Drawing.Image.FromFile(My.Resources.DefaultBackGround)
            My.Settings.BackGroundParDefaut = (My.Resources.DefaultBackGround)
    Ils me disent que ce n'est pas possible de transformer le (My.Resources.DefaultBackGround) en type sting o_O

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par CLeBeR Voir le message
    J'ai pris la réponse de tomlev, ^^ merci quand même carlfil
    J'ai un autre soucis maintenant, pour remettre le back ground par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           Form1.GroupBox1.BackgroundImage = System.Drawing.Image.FromFile(My.Resources.DefaultBackGround)
            My.Settings.BackGroundParDefaut = (My.Resources.DefaultBackGround)
    Ils me disent que ce n'est pas possible de transformer le (My.Resources.DefaultBackGround) en type sting o_O
    Bah si My.Settings.BackGroundParDefaut est une chaine de caractère (String), tu ne peux pas lui affecter un objet de type Image... A mon avis, la solution la plus simple est de mettre Nothing (ou String.Empty).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    My.Settings.BackGroundParDefaut = String.Empty
    Et quand tu relances l'application, tu ne charges l'image que si le chemin est défini :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If String.IsNullOrEmpty(My.Settings.BackGroundParDefaut) Then
        Form1.GroupBox1.BackgroundImage = My.Resources.DefaultBackGround
    Else
        Form1.GroupBox1.BackgroundImage = System.Drawing.Image.FromFile(My.Settings.BackGroundParDefaut)
    End If

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Par défaut
    Je préfère garder mon code ^^ Mais je ne comprends pas pourquoi sa ne marche pas, une ressource n'est pas une valeur string non ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/06/2007, 15h51
  2. [VBA-E]problème changement d'etat d'une cellule
    Par 12_darte_12 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/03/2006, 18h19
  3. [débutant] Problème de background
    Par benahpets dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 09/02/2006, 00h32
  4. Problème changement serveur pour un site PHP
    Par izzy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 06/01/2006, 11h34
  5. [NON RESOLU] Problème changement maitre détail - Requête SQL
    Par Leesox dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/08/2005, 09h49

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