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

Windows Forms Discussion :

[C#] Passer argument à un constructeur d'une forme


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 86
    Points : 56
    Points
    56
    Par défaut [C#] Passer argument à un constructeur d'une forme
    VS2005
    .NET Framework 2.x

    Salut,

    J'expose mon problème. J'ai deux formes, la principale et une autre, plus une classe. Les 3 classes sont dans le même namespace.

    Premiere classe, la forme principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
        public partial class A: Form
        {
            private A oA;
            private B oB;
            private C oC;
     
            public A()
            {
                InitializeComponent();
     
                oA = this;
                oC = new C();
                oB = null;
            }
     
            private void MenuItem_Click(object sender, EventArgs e)
            {
               oB = new B();
               oB = this;
               oB.Show();
            }
       }

    Classe de la Forme B
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        public partial class B: Form
        {
            public B()
            {           
                InitializeComponent();
            }
        }
    et pour finir la classe C
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        class C
        {
            private MySqlConnection conn;
     
            public C()
            {
                conn = null;   
            }
        }
    Jusqu'ici pas de problèmes.

    Le problème, l'erreur se produit quand je fais ceci, je passe oC en argument au constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
        public partial class A: Form
        {
            private A oA;
            private B oB;
            private C oC;
     
            public A()
            {
                InitializeComponent();
     
                oA = this;
                oC = new C();
                oB = null;
            }
     
            private void MenuItem_Click(object sender, EventArgs e)
            {
               oB = new B(oC);
               oB = this;
               oB.Show();
            }
       }
    Dans la classe B j'ai pourtant ajouté ceci :
    Classe de la Forme B
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        public partial class B: Form
        {
            private C oC;
            public B(C _oC)
            {           
                InitializeComponent();
                oC = _oC;
            }
        }
    J'ai aussi essayé avec un second constrcuteur mais sans succès. J'ai le message d'erreur suivant :

    Error 1 Inconsistent accessibility: parameter type 'MyNameSpac.C' is less accessible than method 'MyNameSâce.B.B(MyNameSpace.C)' C:\Documents and Settings\All Users\Documents\Visual Studio 2005\Projects\MyProjet\MyProject\B.cs 20 16 MyProject

    Une idée sur la cause du problème ? C'est une application Winforms, MDI, A étant le forme principale, B une forme enfant et C une classe.

    Merci,

  2. #2
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Points : 72
    Points
    72
    Par défaut
    la classe C n'est pas

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 86
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par amin001
    la classe C n'est pas
    haaaaaa non quel c##, tu as raison

    Merci,

  4. #4
    Membre du Club Avatar de hepsilonz
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 54
    Points : 54
    Points
    54
    Par défaut
    n'oubli pas le

  5. #5
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    Si tu veux que C soit internal, il faut mettre B internal aussi.

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

Discussions similaires

  1. [Lazarus] [0.9.30.4] Passer avec Alt+Tab d'une form à une autre du même projet
    Par CortelliStefano dans le forum Lazarus
    Réponses: 0
    Dernier message: 14/04/2012, 12h27
  2. passer d'une forme a une autre
    Par yoyothebest dans le forum MFC
    Réponses: 1
    Dernier message: 26/03/2006, 20h09
  3. Caractères spéciaux à ne pas passer dans une form
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/03/2006, 12h39
  4. [C#]Comment passer un parametre d une Form à l'autre ?
    Par ToxiZz dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/02/2006, 12h28
  5. Réponses: 2
    Dernier message: 04/10/2005, 20h54

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