Variable public

Résolu
Signaler
Messages postés
15
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
12 avril 2008
-
Messages postés
15
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
12 avril 2008
-
Bonjour a tous voilà j' ai parcourus le forum, les tutos et le site de long en marge et en travers sans réussir a résoudre mon problème...
je voudrais faire une variable qui s'applique a une forme entière (ici la variable a) voici mon code :
Public Class Form1
    Public a As String
.                                                                                                                                .

    Public Sub bouttonrouge_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bouttonrouge.Click
        a = a + 1
    End Sub
.                                                                                                                                  .
    Public Sub form1()

        If a = 1 Then
            PictureBox3.Image = list.Images(1)
            PictureBox3.Visible = True

        End If
    End Sub

End Class

seulement quand je clic sur le bouttonrouge le if de public sub form 1() ne s'execute pas pourriez vous m'aider
merci

9 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
C'est une nouvelle methode qui sert à factoriser les appels à son contenu
que pour ces derniers soit appelé depuis le constructeur (form1)
ou depuis le click sur le bouton

Mais l'appel à partir du form1 est inutile car normalement a = 0.

Cycle de vide de ton appli

initialisation variable globale a = 0
constructeur
appel newmathode - mais rien est fait car a = 0

pas d'appel au constructeur (form1)
clic bouton --> a = 1
appel newmethode - travail car a = 1

deuxieme click bouton --> a=2
appel newmethode --> pas de travail car a = 2

C'est pas compliqué
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
salut,


Vaudrait mieux typer ta variable en integer vu comment tu t'en sers.

Et n'oublies pas de l'initialiser avant de faire a=a+1

L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
Salut

Pour completer
le if dans le constructeur de la form et donc pas aller sur le clic du boutonrouge.

En plus initialise ta variable
Public a As Integer =0

De plus encapsule ton champs dans une propriété ou mais le en private, plus propre.

Bon coding
Messages postés
15
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
12 avril 2008

comment ça initialiser la variable??
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
Tu la mets à zéro comme dans la ligne en bleue
Messages postés
15
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
12 avril 2008

excuse moi mais je débute en programation...
pourrais tu s'il te plait me montrer ce que tu veux me dire dans mon code s'il te plait

merci

Public Class Form1
    Public a As String
.                                                                                                                               
.

    Public Sub bouttonrouge_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bouttonrouge.Click
        a = a + 1
    End Sub
.                                                                                                                                 
.
    Public Sub form1()

        If a = 1 Then
            PictureBox3.Image = list.Images(1)
            PictureBox3.Visible = True

        End If
    End Sub

End Class
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
Voila un code

Public Class Form1

    Private a As Integer = 0
.                                                                                                                               
.

    Public Sub bouttonrouge_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bouttonrouge.Click
        a = a + 1
    manewmathode()
    End Sub
.         
  private sub manewmathode()
   If a = 1 Then

            PictureBox3.Image = list.Images(1)

            PictureBox3.Visible = True

        End If
end sub
                                                                                                                       
.
    Public Sub form1()
       manewmathode()
    
    End Sub

End Class
Messages postés
15
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
12 avril 2008

Merci !!!!!! Ca marche !!
Mais je ne comprends pas a quoi sert le:  manewmathode() en desous de a =a+1

et le

Public Sub form1()
        manewmathode()

    End Sub
Messages postés
15
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
12 avril 2008

ok merci de ton aide!