Je me retrouve confronté à un vilain problème en C#. J’ai une application avec un formulaire MdiParent , nommé SharpMain. Lorsque je lance mon formulaire Enfant ( instancié en tant que newForm ) …
// Affichage du formulaire "Nouveau projet SharpAdmin"
Fille newForm = new Fille();
newForm.MdiParent = this;
newForm.Show();
// Menu -> Nouveau mise en inactif
newItem.Enabled = false;
[/quote]Et dans newForm, le formulaire fille donc, je veux pouvoir changer la propriété enabled d’un Item nommé newItem ( il fait partie d’un contrôle mainMenu ). Je ferais comme ceci …
MdiParent.newItem.Enabled = true;
[/quote]ben ouais c'est cool... sauf que pour le compilateur, le champ newItem n'existe pas mais... ahah pourtant il existe bien dans le MdiParent, et en public s'il vous plait!
Donc , chers cafzoniens, je vous demande votre aide, et vous remerci d’avance!
[quote][23:01:14] (bugalood): répete?
[23:01:31] (Tzim): quand tu fait MdiParent.newItem …
[23:01:42] (bugalood): oui
[23:01:49] (bugalood): newItem est bien publique hein
[23:01:59] (Tzim): MdiParent c’est un objet de type Microsoft.Windows.Form
[23:02:17] (bugalood): arf… et comment je fais pour aller rechercher mon form parent ?
[23:02:34] (bugalood): ca me fait chier parce que de Parent vers Child j’ai aucun prob, et le contraire me tue
[23:02:37] (Tzim): euh, System.Windows.Forms.Form
[23:03:20] (bugalood): ben oui mais ca m’arrange pas le prob
[23:03:20] (Tzim): Ton form parent, est pas un Objet Form, enfin, si, mais il est un dérivé de Form
[23:03:36] (Tzim): (héritage, tout ca …)
[23:03:58] (bugalood): oui il hérite de System.Windows.Forms.Form
[23:04:04] (Tzim): voila
[23:04:42] (Tzim): donc, pour que le compilo il sache que tu parles de ton objet MonParent, par exemple
[23:04:58] (bugalood): oui …
[23:05:00] (Tzim): il faut que caste MdiParent
[23:05:15] (Tzim): ((MonParent)MdiParent).newItem
[23:05:23] (Tzim): TADA !!
[23:05:27] (Tzim): [/quote]la base de la prog objet, tsss