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 :

Problème passage de paramètre entre form


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Points : 63
    Points
    63
    Par défaut Problème passage de paramètre entre form
    Bonjour à tous,
    J'essaye de passer le nom d'un item sélectionné de la ListView du form1 à la form2 :

    Dans form1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public string Nom
    {
          get 
          {
              string userName = this.UserView.SelectedItems[0].Text;
              return userName; 
          }
    }
    Dans form2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public Form2()
    {
         Form1 form1 = new Form1();
         InitializeComponent();
         this.Text = "Propriétés du groupe "+form1.Nom;
    }
    Et là petit problème quand je double clique sur un item :
    J'ai une exception de type ArgumentOutOfRangeException.
    Pourtant la propriété Modifiers de la ListView est public.
    Que faire ?
    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Points : 45
    Points
    45
    Par défaut
    Quand tu appelles form2, passe lui en paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form2 f = new Form2(Nom)
    Rajoute un paramètre de type string au constructeur de ta form (form2)

    @++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Points : 63
    Points
    63
    Par défaut
    Même problème, j'obtiens toujours l'exception ArgumentOutOfRangeException.
    J'ai passé le paramètre Nom de le form2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form2 form2 = new Form2(Nom);
    et j'ai appelé string Nom dans ma deuxième form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public Form2(string Nom)
    {
         Form1 form1 = new Form1();
         InitializeComponent();
         this.Text = "Propriétés du groupe "+form1.Nom;
    }
    l'exception vient d'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return UserView.SelectedItems[0].Text;

  4. #4
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut
    Oui enfin "Nom" est une méthode, c'est plutôt Nom() qu'il faudrait passer ^^.
    S'il te met une erreur récupère d'abord ton résltat dans une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string lenom = Nom();
    Form2 f = new Form2(lenom);
    et ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public Form2(string lenom)
    {
       ...
       string nomf2 = lenom;
       this.Text = "Propriétés du groupe "+nomf2;
       // et non pas Form1.Nom
       //ou alors sans passer par une variable
       this.Text = "Propriétés du groupe "+lenom;
     
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Points : 63
    Points
    63
    Par défaut
    Ok, parfait dans ce cas là pas besoin de passer par des accesseurs.
    Juste déclarer un string :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private void UserView_MouseDoubleClick(object sender, EventArgs e)
    {
                string groupName = this.UserView.SelectedItems[0].Text;
                Form2 form2 = new Form2(groupName);
                form2.Show();            
    }
    et l'appeler dans la form2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public Form2(string groupName)
    {
                InitializeComponent();
                this.Text = groupName;
    }
    Ca marche aussi.
    Merci !

  6. #6
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Salut

    ton véritable etais ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Form1 form1 = new Form1();
    Puisque la tu initialisais une nouvelle instance de Form1 certainement avec aucune valeur dans ton ListView

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

Discussions similaires

  1. [Débutant] Passage de paramètre entre Form
    Par didou038 dans le forum VB.NET
    Réponses: 7
    Dernier message: 30/01/2015, 20h34
  2. Passage de paramètre entre form
    Par Syriel dans le forum Windows Forms
    Réponses: 9
    Dernier message: 04/06/2009, 15h54
  3. Passage de paramètres entre form
    Par thierry007 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/02/2007, 12h21
  4. [Forms 6i] Passage de paramètres entre forms
    Par tmcgrady dans le forum Forms
    Réponses: 8
    Dernier message: 18/03/2006, 03h04
  5. [Forms]Passage de paramètre entre Forms et Reports
    Par jack554 dans le forum Reports
    Réponses: 4
    Dernier message: 30/03/2004, 13h58

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