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 :

Probleme dialogue entre form


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Probleme dialogue entre form
    Bonjour,

    Avant de chercher inutillement j'aimerais savoir si ce que j'essaye de faire est possible

    1- J'ai une form principale qui affiche un datagridview
    2- J'aimerais ouvrir une forme de dialogue permettant de faire des select dans ce DGV

    3- Donc a priori je dois envoyer des events et des parametres a la premiere forme pour effectuer les select necessaire
    4- J'aimerais que le dialogue soit modal ou au moins qu'il ne passe pas en dessous de la premiere form si je clique dessus

    Est-ce dans le domaine du possible
    Que me conseillez vous ?

  2. #2
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    [QUOTE=olibara;3061231]
    4- J'aimerais que le dialogue soit modal ou au moins qu'il ne passe pas en dessous de la premiere form si je clique dessus
    [QUOTE]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaForm.ShowDialog(); // empêche de passer en dessous de la form

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Merci
    Mais ShowDialog rend la form modale

    Donc j'en reviens la question principale : puis-je etablir ce genre de dialogue et quelle est la meilleure manière.
    Surtout si la form qui veut faire aparaitre des choses dans une autre est modale ??

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    J'aimerais que le dialogue soit modal
    Mais ShowDialog rend la form modale



    Tu peux établir un dialogue entre deux fenêtres d'une même application, ou deux process indépendant qui prévois une communication avec autruis.
    Après les moyens que tu peux mettre en oeuvre sont diverses et variées et cela dépend surtout des informations que tu veux échanger, et de façon synchrone ou asynchrone.

    Fait une recherche sur ce forum sur les comunications inter process, il y a pas mal de sujet là dessus avec des réponses.

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Pour etre exact !

    J'aimerais que le dialogue soit modal ou au moins qu'il ne passe pas en dessous de la premiere form si je clique dessus
    C'est cette notion de dialogue qui me perturbe encore un peu

    Bon je vais faire un petit projet avec deux form, un textbox dans chacune et je vais voir jusqu'ou je peux aller pour dialoguer entre elles

    - par appel de procedure ?
    - par modification directe de proprieté ?
    - par event ?

    J'en sais trop rien mais je vais tenter ma chance

  6. #6
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    1- tu peux passer par des constructeurs pour passer des variables
    2- tu peux avoir des variables public
    ... tu peux meme passer par une base de données bref il ya beaucoup de possibilités

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut A choisir
    Salut

    Passer par le constructeur ne m'apparait pas ici la bonne solution, car c'est la form2 initiée par form1 qui doit parler a form1

    Avoir des variable en public c'est bien mais dans ce cas elles doivent aussi etre static et comme le but est un vrai dialogue c'est pas la bonne solution non plus.

    La base de donnée n'y pensons pas.

    Il me semble que c'est a coup d'event et sans doute de quelque variables apasser que je dois travailler

    MAIS MAIS MAIS : je n'ai AUCUNE experience de declaration et d'exploitation d'event ?

    Que dois je faire au minimum dans chaque form pour que Form2 genere un event qui appelle une fonction dans form1 ?

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Pour les events, je te renvois au recherche sur le forum ou sur google, c'est un sujet qui a été traité des million de fois.

    Quand à savoir ce que tu dois faire, com inter process, events, passage de constructeur, classe static, ... Cela dépend du dialogue que tu veux établir :
    1. Mise à jour de donnée utilisé par les deux fenêtres -> fichier de config, classe statique, ....
    2. Appel de méthodes de l'une ou de l'autre des forms par l'une ou l'autre -> Events, passage de constructeur, ....
    3. ....

  9. #9
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Des millions de fois ?
    Si ca a été traité si souvent que tu le dis, c'est sans doute que présicément il n'y a pas encore UNE bonne explication ou tutorial simple pratique et precis et LA reference pour le trouver

    Ta réponse le prouve d'ailleurs

    Or a mon avis le BA-BA tiens en une demi page c'est ca que je cherche

  10. #10
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Et voila quelque chose de pratique !!
    Pour les millions de pasionnés !


    http://www.codeproject.com/KB/cs/PassDataWinForms.aspx

  11. #11
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par olibara Voir le message
    Salut

    Passer par le constructeur ne m'apparait pas ici la bonne solution, car c'est la form2 initiée par form1 qui doit parler a form1

    Avoir des variable en public c'est bien mais dans ce cas elles doivent aussi etre static et comme le but est un vrai dialogue c'est pas la bonne solution non plus.
    Euh... hein ? Quel est le rapport avec static ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Form2 : Form
    {
      private Form1 _f1; // on stocke une référence vers la classe en question
      public Form2(Form1 f1) { _f1 = f1; } // constructeur
      void UneFonction()
      {
        this._f1.UneFonctionDeF1(); // on peut appeler une fonction de la form1
      }
    }
    C'est pas le plus clean mais dans des projets simples ça suffit. Le temps de maîtriser les event

  12. #12
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Merci chef !
    Avec ca et le petit lien que j'ai trouvé pour les event j'ai de quoi passer la soiréée

  13. #13
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Bonsoir,

    Citation Envoyé par fally Voir le message
    2- tu peux avoir des variables public
    J'espére que tu parle de propriétés et non pas de champs...

    Citation Envoyé par olibara Voir le message
    Avoir des variable en public c'est bien mais dans ce cas elles doivent aussi etre static et comme le but est un vrai dialogue c'est pas la bonne solution non plus. Que dois je faire au minimum dans chaque form pour que Form2 genere un event qui appelle une fonction dans form1 ?
    Pas forcément...

    Voici un exemple de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form2 formulaire2 = new Form2();
    formulaire2.ShowDialog();
    TypeObjet objet = formulaire2.ObjetARecupérer;
    Je ne pense pas qu'il y ait besoin d'événement dans ce cas

  14. #14
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par harz62 Voir le message
    Bonsoir,
    J'espére que tu parle de propriétés et non pas de champs...
    J'ai pas compris! quel problème y aurait-il si je parlais de champs?

  15. #15
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Citation Envoyé par olibara Voir le message
    Si ca a été traité si souvent que tu le dis, c'est sans doute que présicément il n'y a pas encore UNE bonne explication ou tutorial simple pratique et precis et LA reference pour le trouver

    Ta réponse le prouve d'ailleurs

    Or a mon avis le BA-BA tiens en une demi page c'est ca que je cherche
    Il n'y a pas de BA-BA pour la communication entre form, process, ou autre.
    C'est trop vague, il faut d'abord concevoir le genre de communication que l'on veut mettre en place avant de faire un choix technologique.

    Et puis pour les events : + C# + Events = http://www.yevol.com/csharp/classes2/events.htm

    Premier lien de la recherche, court, en français, simple (plus simple que ton lien), et suffisant -> Ton fameux BA-BA

    Et pour la communication inter-process, sur les sujets où l'on en a discuter, il y a eu à chaque fois une 10 aines de réponse où quelqu'un venait proposer une méthode différente. J'avais pas envie de toutes les redécrires, c'est pour cela que je t'ai orienté la dessus. Surtout que cela ne me paraissait pas clair de ce que tu attendais, et là tu aurais pu avoir une explication sur des technos que tu ne connais pas apparement.

    Maintenant si tu crois que je t'ai envoyé bouler, c pas mon problème, c pas moi qui ne ferais pas le meilleur choix technologique par ignorance des autres possibilités existantent !!!!

    A quoi cela sert de demandé des avis, et de l'aide si au final on ne les prends pas en compte et on reste bornée sur sa première idée.

    Comme tu n'as pas été assez explicite, je ne sais pas si c la meilleur solution, mais je pense que délocaliser les méthodes nécessaire pour form1 et form2 dans une classes static et les appelés très facilement depuis n'importe quelle forme est une solution suffisante.

  16. #16
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Merci
    Merci pour ce nouveau lien

    Je commence a m'impregner du sujet !

  17. #17
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Bonjour,

    Citation Envoyé par fally Voir le message
    J'ai pas compris! quel problème y aurait-il si je parlais de champs?
    Des champs publics ^^

  18. #18
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par harz62 Voir le message
    Bonjour,
    Des champs publics ^^
    Tu peux m'expliquer un peu stp?

  19. #19
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Usuellement, on évite d'avoir des membres publics et on ne fournit que des accesseurs get / set dessus.

    Mais bon, pour un petit projet ou quand on débute, c'est pas la peine de se fatiguer à mon avis. Et à compter de Visual 2008, la notation public int Truc { get; set; } facilite encore les choses

  20. #20
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Merci Guulh!
    c'est compris.

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

Discussions similaires

  1. [FLASH 8] Probleme dialogue entre FLASH XML PHP
    Par s3phi dans le forum Dynamique
    Réponses: 3
    Dernier message: 13/12/2007, 15h04
  2. Dialogue entre form
    Par WindowsVista dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/06/2007, 16h41
  3. Probleme passage entre boite de dialogue
    Par kanabzh29 dans le forum MFC
    Réponses: 3
    Dernier message: 18/04/2006, 14h35
  4. Probleme espace entre DIV du a un FORM
    Par Little_Goldo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/10/2004, 20h50
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44

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