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 :

accèder au parametres de la form parent


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Par défaut accèder au parametres de la form parent
    Bonjour à tous !

    Je suis sur la création d'un chat client-serveur. Je reprend un ancien projet que j'ai fais pour l'améliorer. L'application contient une form principale qui permet la connexion au serveur. Si la connexion s'établit, la form ce modifie pour afficher la liste des personnes connectés.

    Lorsque l'utilisateur double clique sur un element de la liste qui affiche les utilisateurs, une nouvelle form est crée ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fenetreDiscution = new Communication(this.listeUtilisateur.GetItemText(this.listeUtilisateur.SelectedItem));
    fenetreDiscution.Show();
    La nouvelle form s'affiche corretement mais j'ai un gros problème pour les communications. Il faudrais que je crée ma socket et mon thread sur la première form et que je puisse envoyer des message depuis la second form mais je n'arrive pas à acceder aux variables / méthodes de la première form.

    Voici un petit shema montrant comment je souhaite réaliser mon programme :

    [form connection]
    |--> discution 1 (lorsque j'envois j'envois mon message depuis cette form, je souhaite utiliser le socket de la form connexion. Lorsque le thread d'ecoute socket de la première form reçoit un message, il renvois le message dans le textrich de cette form)
    |--> discution 2
    etc...

    Quelqu'un aurais une idée? c'ets la bonne méthode?

  2. #2
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Non, c'est pas la bonne méthode d'essayer d'accéder à des données de la Form parente.

    C'est plutôt à la Form parente de refiler ses données à la Form fille.

    Et sinon pourquoi c'est ta Form parente qui gère les sockets ? T'as pas de couche métier ?

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Je rejoints ce que dit Mose : plutot que d'utiliser une fenêtre pour faire la communication serveur (sic). Tu devrais créer une classe que tu utiliserais dans tes différentes fenêtres et qui se charge de l'envoi des messages.

    De manière générale, une fenêtre ça sert à recupérer les événements de la souris et du claver et afficher des messages.
    Pour faire une bête simplification, tu ne dois utiliser dans les fenêtres que des méthodes du namespace System.Windows.Form (je caricature).
    Si tu es obligé d'inclure des System.Data, System.Xml ou des System.IO dans une form, il y a de très fortes chances que l'architecture de ton application soit mauvaise.

    Prends l'habitude de séparer le code dit 'métier' du code dit 'Interface' en créant une couche contenant les classes qui font le travail bien séparée des classes ou fenêtres qui affichent des boutons. Typiquement, tu crée un deuxième projet dans ta solution contenant le code métier.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

Discussions similaires

  1. visibilité d'une Form Parent
    Par ben_ghost dans le forum C++/CLI
    Réponses: 28
    Dernier message: 03/11/2006, 09h54
  2. Accéder au DataSet d'une form depuis une autre
    Par Lucien dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/08/2006, 08h40
  3. [C#] Comment accéder aux données d'une Form ?
    Par cjacquel dans le forum Windows Forms
    Réponses: 5
    Dernier message: 28/07/2006, 11h55
  4. [C#]Comment passer un parametre d une Form à l'autre ?
    Par ToxiZz dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/02/2006, 12h28
  5. Réponses: 2
    Dernier message: 04/10/2005, 20h54

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