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

C# Discussion :

Avoir accès aux variables et données de private void Form1_Load [Débutant]


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Avoir accès aux variables et données de private void Form1_Load
    Bonjour.
    J'ai un problème que je n'arrive pas résoudre depuis hier.
    Dans un projet Window Forms, j'ai une Form qui se nomme Edition.
    J'ai donc la fonction private void Edition_Load(object sender, EventArgs e){}
    Dans celle-ci j'ai plusieurs tableaux entre autres.
    J'ai donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void Edition_Load(object sender, EventArgs e)
    {
        ...
        int lignes = 50;
        Label[] Numérotation = new Label[lignes];
        ...
        for (int i = 0; i < lignes; i++)
           {
               ...
               Numérotation[i].Text = i+1.ToString();
               ...
            }
    ...
    }
    Puis, plus bas, j'ai la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private void fichierToolStripMenuItem_Click(object sender, EventArgs e)
    {
    }
    Comment avoir accès à Numérotation[0].Text, par exemple, dans cette fonction ?

    J'ai vu qu'il fallait utiliser les accesseurs, mais jamais il n'était expliquer comment les utiliser pour une fonction void.

    Merci.

  2. #2
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private int lignes = 50;
    private Label[] Numérotation = new Label[lignes];
     
    private void Edition_Load(object sender, EventArgs e)
    {
        ...
     
     
        ...
        for (int i = 0; i < lignes; i++)
           {
               ...
               Numérotation[i].Text = i+1.ToString();
               ...
            }
    ...
    }
     
    private void fichierToolStripMenuItem_Click(object sender, EventArgs e)
    {
    messagebox.show(Numérotation[0].Text);
    }

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci pour la rapide réponse.
    Malheureusement, cela provoque une erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Label[] Numérotation = new Label[lignes];
    "lignes" est surligné avec l'erreur suivante : un initialiseur de champ ne peut pas faire référence au champ, à la méthode ou à la propriété non statique 'Edition.lignes'.
    J'ai essayé d'encapsuler le champ 'Numérotation' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
          public Label[] Numérotation1
            {
                get
                {
                    return Numérotation;
                }
     
                set
                {
                    Numérotation = value;
                }
            }
    Mais ça n'a pas marché...
    Encore merci pour votre aide.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Trouvé !
    C'est bon , j'ai trouvé comment corriger cette erreur.
    Il suffit d'ajouter "static" devant "private int lignes = 50;" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static private int lignes = 50;
    Merci de ton aide, charouel.

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

Discussions similaires

  1. Acces aux variables PRIVATE
    Par Kezine dans le forum C++
    Réponses: 3
    Dernier message: 02/10/2011, 16h44
  2. Réponses: 2
    Dernier message: 24/09/2009, 16h32
  3. Réponses: 2
    Dernier message: 17/06/2008, 11h38
  4. Réponses: 17
    Dernier message: 15/04/2007, 12h28
  5. [débutant] avoir accès aux données de la base BCDI 3
    Par Valichou dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/05/2004, 13h13

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