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 :

[2.0] MDI - Fonction mère depuis fille


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut [2.0] MDI - Fonction mère depuis fille
    Bonjour,

    voilà j'ai un problème avec mon application MDI.

    J'ai 3 forms :

    - Form1 qui est mon conteneur MDI avec un menu pour lancer mes
    mes différentes feuilles.

    - frmFournisseurs qui contient un ListView qui affiche les éléments présents
    dans ma base de données Access, et un bouton Nouveau qui lance ma
    feuille frmNouveauFournisseur sur laquelle il y a des TextBox et un bouton
    OK pour accepter.

    Je lance ma feuille frmFournisseurs depuis le menu de Form1 avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form frmFournisseurs = new frmFournisseurs();
    frmFournisseurs.MDIParent = this;
    frmFournisseurs.Show();
    La feuille se lance bien et je vois les fournisseurs dans ma ListView.

    Je click donc sur Nouveau pour en ajouter un, je complète mes TextBox et voici la propriété Ok de mon bouton : (j'ai coupé la partie ajout dans Access)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    frmFournisseurs frmFournis = new frmFournisseurs();
    frmFournis.listView1.Refresh();
    this.Close();
    Mon nouveau fournisseur est bien présent dans ma base de données mais il s'affichera que lorsque je relance frmFournisseurs via le menu de Form1.

    Pour faire clair, je voudrais rafraichir la ListView présent sur frmFournisseurs depuis frmNouveauFournisseur sans être obligé de relancer les feuilles à chaque fois.

    J'ai modifier la propriété private void frmFournisseurs_Load en public void ... pour avoir accès sur la feuille frmNouveauFournisseur mais rien n'y fait.

    Avez-vous une idée ?
    Merci d'avance, bonne soirée.

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Vraiment personne pour appeler une fonction d'une fenêtre Fille depuis une autre fenêtre Fille ?

    Arf je pense que la plupart n'ont pas compris ce que je veux faire, en fait je sais pas trop comment exposer mon problème

    J'ai 1 form MDI appellée frmMDI
    et 2 feuilles filles (frmFille1 et frmFille2).

    Je lance frmFille1 par le menu fr frmMDI.
    Je lance frmFille2 par le bouton sur frmFille1.

    Peut-on acceder à une fonction sur frmFille1 depuis frmFille2 ?

  3. #3
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    tu dois faire 2 choses...

    1. déclarer la methode que tu veux appeler en public
    2. créer dans ton frmFille2 une instance de frmFille1 qui reference la fenetre ouverte frmFille1., après tu appelles la fonction publique que tu désires.

    essaie un truc du genre (verifie la synthaxe car suis pas sûr)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    frmFille1 fFille = new frmfille1();
     
    foreach(form f in this.MdiPArent.MdiChildren)
    {
    if(f.Name == "LeNomDeTaFenetreFille")
      fFille = f as frmFille1;
     
    }
     
    fFille.TaNethodepublique(parametres);

  4. #4
    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
    Points : 5 194
    Points
    5 194
    Par défaut
    Le "top" serait de décoreller les données du rendu de la forme...

    Genre, dans un document, tu geres les acces à ta base de données,
    et tu crées un evenement "UpdateDataBase"... comme ca, quand ta forme
    "nouvelle Entrée" ajoute un element, l'evenement UpdateDataBase est levé,
    et comme tu auras eu la bonne idée de mettre une callback dans FormAffichageDatabase sur cette evenement, tu pourras mettre à jour tranquillement...

    Personnellement, je prefere ce mécanisme par evenement plutot qu'un
    appel fonctionnel depuis formNouvelle vers FormAffichage car ainsi, si tu
    es amené à créer un autre formulaire de mise à jour, etc... tu n'auras pas
    de lien entre les formulaires d'ajouts et les formulaires d'affichages.. ce qui
    te permet ensuite d'avoir des composants indépendants et donc plus
    facilement récupérables ou interchangeables

    The Monz, Toulouse

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Merci à vous deux pour vos réponses.

    Je verrais ça ce soir quand je rentre chez moi.

    Sympa

Discussions similaires

  1. Fonction fille vers fonction mère
    Par nostrora dans le forum Débuter
    Réponses: 6
    Dernier message: 02/07/2011, 14h31
  2. [Doxygen]Commenter une fonction héritée depuis la classe fille
    Par khazna dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 31/01/2009, 14h20
  3. Réponses: 5
    Dernier message: 18/09/2008, 17h20
  4. Réponses: 2
    Dernier message: 18/04/2008, 09h19
  5. Application MDI Mère et fille
    Par Jean-Michel Ormes dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 28/10/2007, 17h43

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