none
appel d'un formulaire dans un autre RRS feed

  • Question

  • Bonjour,

    j'ai un gros souci,

    Pour appele un formulaire B dans le formulaire A,

    je fais ceci:

                        using (FormCommandeCP UneFeuille = new FormCommandeCP())
                        {
                           UneFeuille.ShowDialog();
                        }

    la feuille s'affiche bien

    mais seulement je ne peut acceder au element de la feuille B

    exemple sij'ecris:

                        using (FormCommandeCP UneFeuille = new FormCommandeCP())
                        {
    unefeuille.textbox1="TOTO";                      

    UneFeuille.ShowDialog();
                        }

    j'ai l'erreur suivante :Error    1    'GesConFab.FormCommandeCP.Article_CB' is inaccessible due to its protection level  

     

    Merci de m'aider

     


    Marcelle NGOUNOU
    lundi 4 juillet 2011 14:21

Réponses

  • Bonjour,

     

    D'après votre message d'erreur  il y à une propriété du nom de Article_CB qui est inaccessible. Essayez de la passer en public au lieu de private.


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    lundi 4 juillet 2011 15:18
  • Pascal vous a donné la solution.
    Si vous voulez accéder à une propriété ou variable membre d'une Form
    dans du code extérieur à la classe de cette Form, déclarez cette
    propriété ou variable Public (ou éventuellement Friend)
    Dans le cas d'un contrôle, il y a juste à modifier sa propriété Modifier
    dans la fenêtre des propriétés en mode Design.
     

    Fred
    mercredi 6 juillet 2011 05:14

Toutes les réponses

  • Bonjour,

     

    D'après votre message d'erreur  il y à une propriété du nom de Article_CB qui est inaccessible. Essayez de la passer en public au lieu de private.


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    lundi 4 juillet 2011 15:18
  •  bonjour Pascal,

    Merci pour ta contribution mais peut etre ai je mal decrit mon probleme

    en fait, je peux creer le formulaire mais ne peut accéder à aucun element de ce formulaire

    donc le fait d'ecrire unefeuille.textbox1, je le force car cet element n'est pas accessible,

    je ne peux voir que les propriété du formulaire!

     

    cordialement


    Marcelle NGOUNOU
    mardi 5 juillet 2011 14:26
  •                     using (FormCommandeCP UneFeuille = new FormCommandeCP())

                        {
                           UneFeuille.ShowDialog();
                        }


    La déclaration de l'instance de classe FormCommandeCP reste privé dans ce cas et n'est pas accessible par le reste de code en dehors de bloque using. C'est mieux de la déclarer à part et l'initialiser dans le constructeur par exemple.

     

    mardi 5 juillet 2011 15:13
  • bonjour Ali,

    elle est prive dans le formulaire A, c'est normal

    mais je derait pouvoir puisque j'ai extencier le nouvelle classe avoir acces a ces elements!!!

    j'y comprends rien,

    pourtant j'ai une apli ou je fais cet appel sans souci et tout se passe bien

     

    cordialement,


    Marcelle NGOUNOU
    mardi 5 juillet 2011 16:07
  • Pascal vous a donné la solution.
    Si vous voulez accéder à une propriété ou variable membre d'une Form
    dans du code extérieur à la classe de cette Form, déclarez cette
    propriété ou variable Public (ou éventuellement Friend)
    Dans le cas d'un contrôle, il y a juste à modifier sa propriété Modifier
    dans la fenêtre des propriétés en mode Design.
     

    Fred
    mercredi 6 juillet 2011 05:14
  • Bonjour, Marcelle,

    Il est difficile comprendre pourquoi vous recevez une erreur sur le niveau de protection de 'GesConFab.FormCommandeCP.Article_CB'  quand vous ne le référencez pas dans l’appel unefeuille.textbox1="TOTO". Pouvez-vous nous montrer votre code (surtout la définition de la classe FormCommandeCP) ? Il sera plus facile vous répondre à la question. Merci d’avance !

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 6 juillet 2011 06:54
  • Bonjour Foleide,

     

    Merci, mais je n avais pas compris quel element il demandait de passer en public.

     

    Merci,

    Cordialement


    Marcelle NGOUNOU
    mercredi 6 juillet 2011 08:07
  • Bonjour Ciprian,

    Voila le code,


    namespace GesConFab
    {
        public partial class FormCommandeCP : Form
        {
            //bool impression;
           Int32 CodeArticle;


            public FormCommandeCP()
            {
                InitializeComponent();
            }
    }

    }

     

    Mais je pense que Pascal et Foleide m'ont repondu (Fole m'a un peu tire les oreilles)

    Mais j'ai découvert un propriété que j avais jamais utilisé

    Merci à tous,

    cordialement


    Marcelle NGOUNOU
    mercredi 6 juillet 2011 08:09
  •  
    Le 06/07/2011 10:09, marclas a écrit :
    > Mais je pense que Pascal et Foleide m'ont repondu (Fole m'a un peu
    > tire les oreilles)
     
    Ménon ménon, j'ai juste répondu très vite :-)
     

    Fred
    mercredi 6 juillet 2011 08:51
  • Bonjour,

     

    Merci pour tenir la communauté informée sur la suite de vos démarches.

     

    Bonne journée,

     

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 6 juillet 2011 13:42
  • j'ai une autre methode:

    dans l'evenement clic du bouton de votre votre formulaire qui appelle l'autre formulaire ,essayez ceci :

    private

    void btn_Click(object sender, EventArgs e)

     

    }

    mais il faudrait que le constructeur de la classe(formulaire à appeler) reçcoivent en  arguments les elements auxquels vous voulez avoir accès.

    je ne sais pas si j'ai bien repondu.Bonne journée

    {

     

    new NouveauFormulaire(txtMachineElectID.Text).ShowDialog(this, "Historique de Machine Electrique " + txtMachineElectID.Text);
    jeudi 14 juillet 2011 07:55
  • bonjour Megajay.

     

    Merci

    bonne journée


    Marcelle NGOUNOU
    jeudi 14 juillet 2011 14:42