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

VB.NET Discussion :

Comment modifier un controle d'une feuille MDI enfant depuis la feuille parent ?


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 39
    Par défaut Comment modifier un controle d'une feuille MDI enfant depuis la feuille parent ?
    Bonjour,

    Mon problème est simple mais j'ai du mal à trouver...

    Je voudrais depuis une feuille MDI Parent modifier des propriétés de contrôles d'une ou de toutes les feuilles MDI Enfants.

    Mon problème est que si j'arrive bien à lire et à modifier les propriétés des feuilles elles-mêmes, par exemple pour afficher les noms des feuilles ouvertes dans la console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            ' exemple récupération des nom des feuilles dans la console
            Dim nom As String
            For Each ChildForm As Form In Me.MdiChildren
                nom = ChildForm.Text
                Console.Write(nom & "Jusque là, ça va..." & vbCrLf)
            Next
            ' et ça marche....
    Par contre je n'arrive pas à accéder aux propriétés des contrôles contenus dans les feuilles enfants...
    Par exemple, si j'ai une ligne de menu appelée menuEnregistrer et que je veut le rendre inaccessible dans toutes les feuilles ouvertes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            For Each ChildForm As Form In Me.MdiChildren
                ChildForm.menuEnregistrer.enabled = True
            Next
            ' et ça ne marche pas....
    Bien entendu, c'est le même problème avec les autres contrôles...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            For Each ChildForm As Form In Me.MdiChildren
                ChildForm.Label1.text = "Rien ne va plus...!"
            Next
            '  raté !....
    ne marcherait pas davantage

    Comment faire ?

    Merci d'avance pour vos conseils avisés...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 39
    Par défaut
    Bon, désolé de vous avoir ennuyé pour rien, mais j'ai fini par trouver une solution sans trop comprendre pourquoi il aura fallu que j'en passe par là :

    En rajoutant un objet feuille avec Ctype, ça marche...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            Dim Feuille As Form1
            For Each ChildForm As Form In Me.MdiChildren
                Feuille = CType(ChildForm, Form1)
                Feuille.Label1.Text = "Enfin, ça marche. Youpii !"
            Next
            ' et ce coup ci, ça marche.
    Donc je réponds "résolu" mais s'il y en a qui connaissent d'autres trucs pour y parvenir, je reste preneur.

    Bonne nuit

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

Discussions similaires

  1. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  2. [Template] comment modifier un control dans une template
    Par TheBlackReverand dans le forum Silverlight
    Réponses: 1
    Dernier message: 05/06/2009, 20h55
  3. Réponses: 5
    Dernier message: 24/03/2008, 19h49
  4. comment modifier les données d'une table à travers un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 12
    Dernier message: 19/07/2005, 09h51

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