MDi probleme avec bool et erreur

Résolu
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 à 01:36
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'

5 réponses

Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
13 août 2011 à 17:00
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
3
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
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;
            }
            }
        }
3
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
13 août 2011 à 13:24
Bonjour,

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

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




Whismeril
0
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 à 16:49
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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:19
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.
0
Rejoignez-nous