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 :

Mettre à jour une statusbar par un MdiChildren


Sujet :

Windows Forms

  1. #1
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Points : 221
    Points
    221
    Par défaut Mettre à jour une statusbar par un MdiChildren
    Bonjour,

    J'ai une statusbar avec des labels, dans une form mdi parent.

    Je désire mettre à jour ses labels suivant des actions réalisées dans une form fille.

    Comment puis je faire?

    cordialement
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

  2. #2
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Points : 221
    Points
    221
    Par défaut
    j'ai un début de solution.
    Dans ma form fille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    F_Parent _frmParent;
     private void F_Activated(object sender, EventArgs e)
            {
                if (_frmParent==null )
                    _frmParent = (@F_Main)this.MdiParent;
     
            }
    Par contre mon this.MdiParent est null

    Voila comment je créer ma form child
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    private void F_parent_Load(object sender, EventArgs e)
    {
        InitialisationForm();
        OpenChildForm((Form)fchild);
    }
     
    public void InitialisationForm()
    {
            this.IsMdiContainer = true;
            fChild = new F_Child();
            InitialisationFormchild((Form)fChild);
    }
     
    public void InitialisationFormchild(Form f)
    {
        if (f != null)
        {
            f.Visible = false;
            f.MdiParent = this;
            f.Parent = SC_Main.Panel2;
            f.Dock = DockStyle.Fill;
            f.StartPosition = FormStartPosition.WindowsDefaultLocation;
        }
    }
     
    private void OpenChildForm(Form F)
    {
    if (ActiveMdiChild != null) {ActiveMdiChild.Visible  = false;}
    ActivateMdiChild(F);
    Application.DoEvents();
    F.Visible = true;	
    }
    Qu'est ce qui fait que ma form child a un parent null?
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Points : 230
    Points
    230
    Par défaut
    Bonjour,

    Moi j'utiliserai les évènements. Tu auras un truc du genre :

    Dans la Form fille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        // delegate declaration
        public delegate void ChangingHandler (object sender, MyClass ca);
     
        // event declaration
        public event ChangingHandler Change;
    Dans une methode de la form fille, tu créé cet évènement :
    et dans la Form parente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MyFormFille.Change += new System.EventHandler(this.HandleChanging);
     
    private void HandleChanging(object sender, System.EventArgs e) {
           // mise a jour du label dans la statusBar
    }
    Tox

  4. #4
    Membre actif Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Points : 221
    Points
    221
    Par défaut
    Bonjour,

    Merci de ta réponse. J'ai eu la même idée.

    J'ai pris pour exemple ce code.

    J'ai ainsi créé ma propre classe EventHandler et passé mes paramètres.
    "Nulla Tenaci Invia Est Via"
    Aux persévérants aucune route n'est interdite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Mettre à jour une table dans une base de données crée par code.(access)
    Par sidisadmir dans le forum ADO.NET
    Réponses: 1
    Dernier message: 31/08/2013, 09h54
  2. [Débutant] Mettre à jour une listbox par rapport à une autre C#
    Par MarkouZz68 dans le forum C#
    Réponses: 3
    Dernier message: 18/06/2013, 11h24
  3. Mettre à jour une table par rapport à une autre
    Par remsrock dans le forum Développement
    Réponses: 2
    Dernier message: 18/11/2008, 12h22
  4. Mettre à jour une combo remplie par une requête
    Par jo_la_pasteque dans le forum WinDev
    Réponses: 9
    Dernier message: 14/04/2008, 13h19
  5. Réponses: 16
    Dernier message: 19/02/2008, 14h10

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