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

C# Discussion :

Utilisation de la méthode "Add" pour ajouter des objets. [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 102
    Par défaut Utilisation de la méthode "Add" pour ajouter des objets.
    Bonjour,

    Je débute avec C# et je voudrais ajouter par programme une comboBox sur une form.

    J'ai vue sur l'aide Microsoft un exemple de code du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void BTN_FONCTIONS_Clik(object sender, RoutedEventArgs e)
            {
                // Create an instance of the ListBox.
                ComboBox ComboFctn = new ComboBox();
                this.Controls.Add(ComboFctn);
                ComboFctn.Visibility = Visibility.Visible;
     
            }
    Mais Visual studio souligne en permanence "Add" avec le texte ci dessous :

    'object' ne contient pas de definition pour 'Add' et aucune méthode d'extension 'Add' acceptant un premier argument de type 'object' n'a ete trouvé (
    une directive using est-elle manquante ?)


    J'ai fait le point sur les using, tout y est.

    Du coup jje ne vois pas ce qui cloche ...


    Merci pour votre aide...

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Pas de problème pour moi avec ce code, après le mot clé this représente l'objet courant donc ça dépend ou ta fonction se situe (sous classe).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            private void button1_Click(object sender, EventArgs e)
            {
                ComboBox ComboFctn = new ComboBox();
                this.Controls.Add(ComboFctn);
            }

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 102
    Par défaut
    Merci d'avoir pris le temps de lire ma demande.


    Justement, j'ai du mal à me situer...

    Le code est appelé sur l'evenement "click" du bouton qui est lui même sur le form.


    Donc logiquement, le code est appelé depuis le form, donc "this" représente le form...?

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Oui ça fonctionne, j'ai refais le test.

    Post le code complet pour que nous puissions t'aider.

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    A tout hasard, ne travaillerais-tu pas en WPF et n'aurais-tu pas déclaré une variable nommée Controls de type Object dans la MainWindow ? Ceci pourrait expliquer le message (car Controls n'existe pas en WPF)
    L'exemple que tu donnes fonctionne en Windows Form, pas en WPF.

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 102
    Par défaut
    J'ai recrée un nouveau projet pour repartir de zéro et pour avoir un code simple.

    Je travaille avec Visual Studio Community 2015, est-ce une version bridée ?




    J'ai toujours la même erreur sur controls.Add :


    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.Drawing;
     
    namespace VCNET_TESTS_DEV
    {
        /// <summary>
        /// Logique d'interaction pour MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            private object Controls;
     
            public MainWindow()
            {
                InitializeComponent();
            }
     
            private void BTN_CRT_CMBBOX_Click(object sender, RoutedEventArgs e)
            {
                // Create an instance of the ListBox.
                ComboBox ComboFctn = new ComboBox();
                this.Controls.Add(ComboFctn);
                ComboFctn.Visibility = Visibility.Visible;
            }
        }
    }

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Comme je le disais , tu crées un projet WPF et non pas Windows Form et ton code n'est pas compatible avec WPF !
    Crée un nouveau projet Windows Form et ça fonctionnera.

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

Discussions similaires

  1. utiliser un script pour inserer des objets 3D
    Par s_mihai dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/08/2005, 13h52

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