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 :

Récupérer un objet d'un winform à l'autre


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 68
    Par défaut Récupérer un objet d'un winform à l'autre
    Bonjour,

    J'explique mon projet, j'effectue une gestion d'un garage avec la création d'objet de type voiture.
    Cette objet est initialisé dans un des Winforms, avec les différentes valeurs choisis par l'utilisateur :

    Code : 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
    public partial class Form2 : Form
     {
    private void btnContinuer_Click(object sender, EventArgs e)
            {
                typeVehicule = (string)comboBoxTypeVehicule.SelectedItem; //Enregistre les informations dans des variables
                marqueVehicule = (string)comboBoxMarqueVehicule.SelectedItem;
                unModele = (string)comboBoxModele.SelectedItem;
                motorisationVehicule = (string)comboBoxMotorisation.SelectedItem;
                immatriculation = textBoxImmat1.Text + " " + textBoxImmat2.Text + " " + textBoxImmat3.Text;
                dateImmatriculation = (string)comboBoxJourCirculation.SelectedItem + " " + (string)comboBoxMoisCirculation.SelectedItem + " " + textBoxAnneeCirculation.Text.Trim();
                textBoxKilometrage.Text=Convert.ToString(nbreKilometre);
     
                    Voiture laVoiture = new Voiture(typeVehicule, marqueVehicule, unModele, motorisationVehicule, immatriculation, dateImmatriculation, nbreKilometre); //J'initalise avec les différentes valeurs
                    Form Form3 = new Form3(laVoiture, nbreClient);
                    Form3.Show();
                    this.Hide();
     
            }
    }
    Puis dans mon Winform suivant, j'essaye de récupérer cet objet afin de le réutiliser ulterieurement :

    Code : 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
    public partial class Form3 : Form
        {
     
            public string nom;
            public string prenom;
            public int telephone;
            public string adresse;
            public int codePostal;
            public string ville;
            //public int nbreClient;
            Voiture uneVoiture = new Voiture(unType, uneMarque, unModèle, uneImmat, uneDateImm, unNbreKil);
     
            public Form3(Voiture laVoiture, int unNbreClient)
            {
                InitializeComponent();
                this.nbreClient = unNbreClient;
                this.uneVoiture = laVoiture;
            }
    }
    Le problème c'est qu'il n'arrive pas à retrouver cette objet, mon idée serait de faire hérité le form2 au form3. Mais j'ai aucune idée de comment faire...

    Cordialement,
    eXqO

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    Stop tout de suite

    Pour ce genre de logiciel, il te faut découper la gestion des objets et leur affichage (ou saisie)...

    il existe un tutoriel sur le modele MVC qui explique comment découper en couche (DAL : Data Access Layer), vue (IHM), etc (couche métier)

    Je t'invite fortement à le lire (si ce n'est déja fait) et tu verrais comme les choses deviennent de suite plus simple.

    Il ne faut surtout pas que les formes se voient les unes entre elle (sauf si besoin réel exprimé)...

    Les data doivent être dans une couche accessible depuis n'importe ou (l'utilisation de static peut s'avérer une bonne solution ici)

    voilà

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 68
    Par défaut
    Pourrais-je avoir un lien vers ce tutoriel s'il vous plait ? (Je ne vois pas celui que tu me conseilles...)

    Dur dur apprentissage en tout cas...

  4. #4
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 149
    Par défaut
    Salut à vous,
    theMonz31 je ne sais pas trop si g suis dans le même cas mais je t'expose mon problème. je suis en train d'écrire un logiciel qui gère les sinistres automobiles dans un cabinet d'expertise automobile et j'ai un formulaire Form1 ou se trouve un bouton qui me permet d'accéder au formulaire Form2 sur lequel se trouve un datagridview qui liste tous les véhicules enregistres dans la base. je veux au double clic sur le datagridview recuperer l'immatriculation du véhicule sélectionné (dans le Form2) dans un textbox sur le formulaire Form1. pouvez vous m'aider ? j'ai beau essaye les delegate et autres events (que je ne comprends pas trop ) mais en vain. Merci.

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    dans ton cas (du sinistre) le problème est "légèrement" différent puisque tu
    veux afficher une donnée sélectionnée dans un formulaire pour l'afficher dans un second

    L'idée est cependant la même concernant la gestion des données

    A savoir, une couche DAL qui va gérer le contenu des données et des couches "vues" qui vont se charger d'afficher les données

    Si ton formulaire F1 doit afficher les données d'immatriculation issue du F2, il faut peut-etre que F2 publie un evenement auquel F1 sera abonné

    Si tu arrives à crée un delegate et un event dans F2, il "suffira" que F1 connaisse F1 et son evenement pour récupérer l'information.

    Voilà

  6. #6
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 149
    Par défaut
    salut theMonz31,
    Merci de me répondre.
    comme je l'avais dis j'ai essayé les événements et les délégués mais comme je ne comprenais pas trop je ne m'en suis pas sorti. alors si tu pouvais m'aider sur ce coup là!!. Voici ce que j'ai fais:
    1- j'ai crée un delegate dans F2 qui renvoie un string et qui ne prend aucun paramètre.
    2- j'ai crée un Event du type du delegate.
    3-j'ai crée une méthode M qui recupere l'immatriculation du véhicule dans F2 au double clic.
    4- ensuite dans F1 j'instancie F2 et le delegate pour exécuter la méthode M créer qui doit renvoyer un string contenant l'immatriculation, mais aucun résultat.
    Et là j'avoue que je suis bloqué

Discussions similaires

  1. Récupérer un objet sur une jsp et le renvoyer sur une autre
    Par marooned dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 01/02/2013, 13h23
  2. Récupérer un objet se trouvant dans une autre fonction
    Par Shinochi dans le forum Débuter
    Réponses: 4
    Dernier message: 03/10/2010, 18h30
  3. Réponses: 5
    Dernier message: 08/02/2010, 15h07
  4. Récupérer les objets d'un formulaire dans un autre
    Par mimosa803 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/05/2009, 14h14
  5. Réponses: 1
    Dernier message: 05/05/2006, 14h37

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