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 confirmé
    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
    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 actif
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    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 confirmé
    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
    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 éprouvé 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
    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 confirmé
    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
    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
    Rédacteur
    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
    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
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

+ 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