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

Windows Forms Discussion :

Passer d'un winForm a un autre


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut Passer d'un winForm a un autre
    Bonjour, grâce à votre aide, j'ai crée mon premier winForm, avec une listeView qui affiche une liste d'enregistrement à partir de ma base de données , l'étape qui suit, c'est de cliquer sur l'un des enregistrements, passer sur un autre winForm qui contient les informations détaillée sur l'enregistreemnt sélectionné, sachant que je j'utilise des panels, est ce que je dois travailler sur la visibilité des panels ou je passe à un deuxième winForm ? y a t'il une possiblité de cliquer sur l'enregistrement dans la listeView et récupérer les informations du l'élement sélectionné sur une autre winForm ?


    Merci

  2. #2
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    tu peux faire directement sur le même winform en jouant avec les panels

    pour récupérer l'item sélectionné de ta liste, lève l'événement
    taliste_SelectedIndexChanged

    après tu dois pouvoir trouver les infos sur celui sélectionné avec e.item

  3. #3
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    ok, je vais essayé cela, mais en jouant sur la visibilité des panels, mon seul winForm sera trop chargé ????

  4. #4
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    ca dépend du nombre de composants de tes panels...
    tu peux jouer aussi avec les .visible
    ou sinon les onglets...

  5. #5
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    comment puis je passer à un deuxime form en passant l'element sélectionné ?

    pour sélectionner l'element sélectionné, j'ai consulté plusieurs discussion dans le forum et j'ai pu faire ceci mais malheureusement ca fonctionne pas ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private void LvDemandeEnCours_MouseDoubleClick(object sender, MouseEventArgs e)
            {
                if (LvDemandeEnCours.SelectedItems.Count > 0)
                {
                    ....
     
                    demandeSelected = demandes.FindDemandeByNumDossier(LvDemandeEnCours.SelectedItems[0].Text);
     
                }
            }
    j'ai mis un point d'arrêt sur la ligne de demande sélected pour voir si je récupère l'element sélectionné, mais lorsque je clique sur un élement de ma liste rien ne se passe, j'atteint pas le point d'arrêt

    Est il possible d'appeler un deuxieme form qui apparait en dessus du 1er sans pouvoir changer dans le premier tant que le deuxime form est affiché

  6. #6
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    tu n'utilises pas le bon evenement de ta liste ....
    il faut te servir de celui que je t'ai indiqué plus haut ....
    -> taliste_SelectedIndexChanged

    pour passer la valeur sélectionnée, tu peux la passer dans le constructeur de ta deuxième form qui l'utilise...
    comme ca tu le passes directement lors de création de l'instance...

    pour ouvrir la form 2 sans pouvoir toucher la form1, utilise .ShowDialog

  7. #7
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    Maintenant j'obtiens mon element sélectionner sauf que je veux cliquer deux fois et non pas une seule sur l'element ????

  8. #8
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    ah ok ....
    bon ben dans ce cas la tu peux stocker dans une variable la valeur dans la méthode SelectedIndexChanged et ensuite t'en servir dans ta méthode MouseDoubleClick

    un peu bidouille mais bon

  9. #9
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    puisque c'est donc je laisse tomber, je laisse pour après

    Comment puis je appeler ma deuxième form ????

  10. #10
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Form2 taForm  = new Form2();
    taForm.Show(); // ShowDialog si tu veux que la form1 ne soit pas modifiable

  11. #11
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Form2 taForm  = new Form2(string valeur);
    taForm.ShowDialog
    avec valeur correspondant à l'item sélectionné de ta liste

    essaie un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string strItem = ListView1.SelectedItems.item(0).text
    dans ta méthode MouseDoubleClik sans ta boucle if

  12. #12
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    ouuuuuuuuuuuuuh, les choses commence à s'éclaircir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    demandes.LoadDemandes();
                       demandeSelected = demandes.FindDemandeByNumDossier(LvDemandeEnCours.SelectedItems[0].Text);
                       //ListeDemande;
                       //DemandeSelectionner.ActiveForm.ShowDialog();
                        DemandeSelectionner ds  = new DemandeSelectionner();
                        ds.ShowDialog();
    j'obtiens mon form2, je peux pas changer dans le premier tant que le 2eme est affiché, mais est qu'il ya une possiblité de les positionner dans l'écran ?

    Lorsque je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DemandeSelectionner ds  = new DemandeSelectionner(demandeSelected );
    avec demandeSelected c'est la demande sélectionnée il met dit que le constructeur ne prend pas 1 argument

  13. #13
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    dans les propriétés du form tu dois pouvoir le positionner ou tu veux sur l'écran (StartPosition)...

    pour ce qui est de ton constructeur qui ne prend pas les arguments, as-tu dans ton form 2 un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public DemandeSelectionner(string mavaleur)
    {
    this.valeurForm2 = mavaleur;
    }

  14. #14
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    Non, j'ai pas donc je dois ajouté ce constructeur avec cet argument qui sera l''identifiant de l'element sélectionné dans la liste, et je dois déclarer un champs private string valeurForm2 ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (LvDemandeEnCours.SelectedItems.Count > 0)
                     {
                       DemandeSelectionner ds = new DemandeSelectionner(LvDemandeEnCours.SelectedItems[0].Text);
                       ds.ShowDialog();
     
                     }
    comment puis je récupérer la veleur de l'element sélectionné dans mon form2 ?

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Essaye avec .Show() a la plce de ShowDialog()

  16. #16
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Le problème c'est qu'elle veut que lorsque son Form2 est ouvert le Form1 soit inaccessible...

  17. #17
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    showdialog, répond exactement a ce que je veux, je suis bloqué au niveau form2, je veux récupérer l'element que j'ai passé en paramètre au constructeur dans le form1 ?

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    je fais exactement ce que tu veux de cette manière :
    Dans mon Form1 sur un clik de bouton j'appel cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void GoTo2(string sArchi)
            {
                string valeur = sArchi;
                Form2 form2 = new Form2();
                form2.Show();
                form2.RecupVal(valeur);
            }
    Dans mon Form2 j'ai une focntion RecupVal avec un string MaValeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void RecupVal(string valeur)
            {
                this.Mavaleur = valeur;
                ......//tu en fais ce que tu souhaites
            }
    En esperant que cela te va

  19. #19
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    Citation Envoyé par Msysteme Voir le message
    comment puis je récupérer la veleur de l'element sélectionné dans mon form2 ?
    tu dois forcément avoir un constructeur pour ta form 2
    pour récupérer la valeur passée en paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string ValeurForm2;//défini la variable
     
    public DemandeSelectionner(string mavaleur)
    {
    this.valeurForm2 = mavaleur;//récupère la variable
    }

  20. #20
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    dans mon form un je clique sur l'element dans mon listView ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. passer d'une forme a une autre
    Par yoyothebest dans le forum MFC
    Réponses: 1
    Dernier message: 26/03/2006, 20h09
  2. Comment faire passer un menu par dessus une autre frame
    Par barthelv dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/11/2005, 11h03
  3. passer d'un interface a une autre
    Par Bason_sensei dans le forum MFC
    Réponses: 14
    Dernier message: 20/10/2005, 09h42
  4. Réponses: 6
    Dernier message: 30/06/2005, 16h16
  5. [C#] Passer d'un webform à un autre avec blocage
    Par Coplan dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/05/2005, 12h04

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