MDi probleme avec bool et erreur [Résolu]

Messages postés
9
Date d'inscription
vendredi 19 janvier 2007
Statut
Membre
Dernière intervention
13 août 2011
- - Dernière réponse : cs_bug31
Messages postés
9
Date d'inscription
vendredi 19 janvier 2007
Statut
Membre
Dernière intervention
13 août 2011
- 13 août 2011 à 17:39
Bonjour,

Ca fait des heure et des heure que je chercheune solution qui marche pour mettre un bool true sur le form parent.

Mon projet ce compose de 1 parent et 2 child integret en MDI.

Sur mon parent j'ai besoin de mettre un bool true à partir d'un de mes child.

J'ai vue beaucoup de methode dont une qui revient souvent
internal Boolean _Imaget =  false;
        public Boolean Imaget
        {
            get { return _Imaget; }
            set { _Imaget = value; }

        }

que j'ai placer dans parent

sur le child je c'est pas trop quoi mettre, jai essayer plusieur truc:
((PrincipaleForm)Application.OpenForms["PrincipaleForm"]).df  = true;

Ca passe du string mais pas du bool donc j'ai mis ca:
PrincipaleForm.Imaget = true;


et la j'ai l'erreur suivante:
Une référence d'objet est requise pour la propriété, la méthode ou le champ non statique ' Monprojet.PrincipaleForm.Imaget.get'
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
13321
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mai 2019
275
3
Merci
Quand tu crées ta form Child, lui définis tu la valeur de MdiParent?

par exemple si ta Child s'appelle MaMDI
MaMDI MaForme = new MaMDI();
Maforme.MdiParent = this;//ici

MaForme.show();




Whismeril

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Whismeril
Messages postés
9
Date d'inscription
vendredi 19 janvier 2007
Statut
Membre
Dernière intervention
13 août 2011
3
Merci
Merci ca marche parfaitement !!! :)

Je met le code pour ceux qui cherche comme moi:
internal Boolean _Imaget = false;
        public Boolean Imaget
        {
            get { return _Imaget; }
            set { _Imaget = value;
            if (_Imaget == true)
            {
                radPageView1.SelectedPage = radPageViewScreen;
            }
            }
        }

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bug31
Messages postés
13321
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 mai 2019
275
0
Merci
Bonjour,

Il te faut une variable qui corresponde à l'instance de ta forme mère.

Essaye ça:
((PrincipaleForm)this.MdiParent).Imaget= true;




Whismeril
Commenter la réponse de Whismeril
Messages postés
9
Date d'inscription
vendredi 19 janvier 2007
Statut
Membre
Dernière intervention
13 août 2011
0
Merci
Merci, mais ca marche toujour pas.

j'ai mis ca sur le form parent:
internal Boolean _Imaget = false;
        public Boolean Imaget
        {
            get { return _Imaget; }
            set { _Imaget = value; }

        }


et ca sur le form child (actionner par un clic du buton)
((PrincipaleForm)this.MdiParent).Imaget= true;


et il me met:
La référence d'objet n'est pas définie à une instance d'un objet.
Commenter la réponse de cs_bug31
Messages postés
9
Date d'inscription
vendredi 19 janvier 2007
Statut
Membre
Dernière intervention
13 août 2011
0
Merci
Merci plus aucune erreur.

Mais ca me change pas la valeur.
  FormWelcome ChildWelcome = new FormWelcome();
        FormMesCodebarre ChildMesCodeBarre = new FormMesCodebarre();

        internal Boolean _Imaget = false;
        public Boolean Imaget
        {
            get { return _Imaget; }
            set { _Imaget = value; }

        }
        public PrincipaleForm()
        {
            InitializeComponent();
            this.IsMdiContainer = true;
            this.AllowAero = false;

            ChildWelcome.MdiParent = this;

            ChildWelcome.panelWelcome.Parent = this.radPageViewWelcome;


            panel2Titre.Text = Imaget.ToString();
           

           if (Imaget == true)
            {
                radPageView1.SelectedPage =  radPageViewScreen;
            }
 
        }


enfaite c'est pour changer le if Imaget. Je le met petetre pas au bon endroit.
Commenter la réponse de cs_bug31