Partage
  • Partager sur Facebook
  • Partager sur Twitter

Modifier un label sur form1 depuis form2

    31 août 2011 à 13:30:17

    Bonjour :) ,

    Je débute en VB.NET (depuis a peu près 3 semaines) et j ai crée un programme windows form. (avec VB 2010 express)

    Je m'explique, le programme(calculatrice) est sur form1, mais j'ai ajouté Un bouton affichage qui amène sur form2, ou il y a 2 combobox de listes de couleurs. Une pour le fond de la calculatrice, l'autre pour la couleur du résultat... Pour le fond ça marche, seulement je n'arrive pas à changer la couleur du résultat...

    Je vous montre une partie du code utilisée (sur form2)

    Pour le fond:

    Private Sub CB_COLFOND_SelectedIndexChanged(Byval ..etc..) handless CB_COLFOND.SelectedIndexChanged

    If CB_COLFOND.SelectedItem = "Vert" Then
    Form1.BackColor = Color.Green
    End if

    Ceci marche... Mais pour a couleur du résultat:

    Private sub CB_COLRESUL_SelectedIndexChanged (...etc...) handless CB_COLRESUL.SelectedIndexChanged

    If CB_COLRESUL.SelecteItem = "Bleu" Then
    Form1.LBL_RESULTAT.ForeColor = Color.RoyalBlue
    End if

    Et quand je lance, il n'y a pas d’erreur, mais lorsque je sélectionne la couleur du résultat, rien ne se passe.... Et si je ne met pas Form1. devant LBL_RESULTAT;ForeColor, il me demande le déclarer

    :euh::euh::euh:

    Pourriez vous m'aidez ????
    • Partager sur Facebook
    • Partager sur Twitter
      31 août 2011 à 14:46:22

      Vérifie que ta condition ne retourne pas False. :)
      • Partager sur Facebook
      • Partager sur Twitter
        31 août 2011 à 14:59:15

        Comment ça ? je l'ai écrite comme l'autre condition, et comment retournerai-t-elle false ?
        • Partager sur Facebook
        • Partager sur Twitter
          31 août 2011 à 15:00:57

          Bonjour,

          Pas besoin de te casser la tête à colorier ton code à la main, il y a le zCode pour ça (regarde les boutons en haut de la zone de texte) :p .

          <code type="vbnet">
          Ton code ici
          </code>
          


          Ce qui donne :
          Private Sub CB_COLFOND_SelectedIndexChanged(Byval ..etc..) handless CB_COLFOND.SelectedIndexChanged
          
          If CB_COLFOND.SelectedItem = "Vert" Then
          Form1.BackColor = Color.Green
          End if
          
          Ceci marche... Mais pour a couleur du résultat:
          
          Private sub CB_COLRESUL_SelectedIndexChanged (...etc...) handless CB_COLRESUL.SelectedIndexChanged
          
          If CB_COLRESUL.SelecteItem = "Bleu" Then
          Form1.LBL_RESULTAT.ForeColor = Color.RoyalBlue
          End if
          

          Aussi, "handless" ça s'écrit avec un seul "s" : Handles ;) .

          Et pour ne pas être HS, oui, c'est sûrement ta condition qui est fausse. Tu as peut-être écrit "Bleu" d'une autre manière (un espace au milieu ou à la fin par exemple) dans ta ComboBox.
          • Partager sur Facebook
          • Partager sur Twitter
            31 août 2011 à 15:16:20

            Lol , pour les couleurs du code, c'est vrai que je poste pas souvent ^^:D

            Mais pour en revenir au sujet, j'ai vérifié c'est écrit pareil, mais j'ai mis bleu pour un exemple, j'ai mis plusieurs couleurs... Je sais pas pourquoi ça marche pas...

            En tout cas pour le fond , ça n'a marché que qu'en j'ai mis BC_COLFOND.SelectedIItem, au lieu de SelectedText or SelectedValue, peut être que pour mon résultat c'est différent...

            Ah moins que ce soit SelectedValue justement !!!!

            Edit: Avec SelectedValue ça marche toujours pas...Vous pensez pas que ça viendrait du Form1.LBL_RESULTAT ???
            • Partager sur Facebook
            • Partager sur Twitter
              31 août 2011 à 15:42:58

              Tu peux vérifier le résultat de la condition comme ça :

              If CB_COLRESUL.SelectedItem = "Bleu" Then
              Form1.LBL_RESULTAT.ForeColor = Color.RoyalBlue
              Else
              Msgbox("Condition fausse", "")
              End if
              
              • Partager sur Facebook
              • Partager sur Twitter
                31 août 2011 à 15:53:51

                Pour moi, c'est que dans ta listbox, l'item doit etre "Bleu " ou "bleu" et donc cela ne coincide pas avec ta condition ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  31 août 2011 à 15:56:21

                  Ah ben j'ai essayé, et là ça changeait les couleurs en même temps que ça affichait la msgbox :p

                  J'ai effacé le else msgbox, et ça continue à changer les couleurs (donc c'est bon) .... Bizarre , mais bon ça me va ^^.

                  vbnetmania : Non c’était bien écrit


                  En tout cas merci à vous tous :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 août 2011 à 15:58:26

                    (...)
                    T'as vu ta faute ?
                    If CB_COLRESUL.SelecteItem = "Bleu" Then
                    Form1.LBL_RESULTAT.ForeColor = Color.RoyalBlue
                    End if
                    

                    CB_COLRESUL.SelecteItem
                    Ce ne serait pas CB_COLRESUL.SelectedItem ? ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 août 2011 à 18:36:12

                      En effet cela aurait pu être une cause si j'avais fait du Copié/collé, mais n'étant pas sur le même ori, j'ai recopié le code à la main ^^, d'où la faute :euh: , mais c'était bon sur vb, puisque l'appli se lançait quand même....

                      Merci quand même de votre considération/attention :)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Modifier un label sur form1 depuis form2

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown