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 :

Erreur d'appel méthode à partir d'un bouton WPF


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Points : 12
    Points
    12
    Par défaut Erreur d'appel méthode à partir d'un bouton WPF
    Bonjour,
    je voudrais appeler la méthode d'une classe depuis un bouton mais j'ai l'erreur "La référence d'objet n'est pas définie à une instance d'un objet."

    Si j’initialise ma classe et appelle la méthode, comme ci-dessous tout fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public partial class MainWindow : Window
    {
    	public Hop Hopi; 
    	public MainWindow()
            {
                InitializeComponent();
    	    Hop Hopi = new Hop() ;
    	    Hopi.voir();
    	}
    }
    Par contre si j’écris et que je clique sur le bouton , j'ai l'erreur "La réf..."
    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
     
    public partial class MainWindow : Window
    {
    	public Hop Hopi; 
     
    	public MainWindow()
            {
                Hop Hopi = new Hop() ;
                InitializeComponent();
    	}
     
    	private void btnGo_Click(object sender, RoutedEventArgs e)
    	{
    		Hopi.voir();
    	}
     
    }

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut


    C'est normal puisque dans le second exemple de code que tu donnes, dans ta méthode main, tu crées une nouvelle instance de "Hop", mais tu ne l'affectes pas à ton membre public "Hopi".

    Or, quand tu es dans la méthode btnGo_Click, tu fais appel à ce membre public "Hopi". Comme ce dernier vaut null, ça lance une exception.

    Essaie avec ce code :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public partial class MainWindow : Window
    {
        public Hop Hopi; 
     
        public MainWindow()
        {
            this.Hopi = new Hop();
            InitializeComponent();
        }
     
        private void btnGo_Click(object sender, RoutedEventArgs e)
        {
            this.Hopi.voir();
        }
    }
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Super, merci, ça marche !
    Citation Envoyé par DotNetMatt Voir le message


    C'est normal puisque dans le second exemple de code que tu donnes, dans ta méthode main, tu crées une nouvelle instance de "Hop", mais tu ne l'affectes pas à ton membre public "Hopi".

    Or, quand tu es dans la méthode btnGo_Click, tu fais appel à ce membre public "Hopi". Comme ce dernier vaut null, ça lance une exception.

    Essaie avec ce code :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public partial class MainWindow : Window
    {
        public Hop Hopi; 
     
        public MainWindow()
        {
            this.Hopi = new Hop();
            InitializeComponent();
        }
     
        private void btnGo_Click(object sender, RoutedEventArgs e)
        {
            this.Hopi.voir();
        }
    }

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/02/2008, 16h12
  2. Appel d'une méthode à partir d'une autre page
    Par mona dans le forum ASP.NET
    Réponses: 9
    Dernier message: 15/09/2007, 23h52
  3. Réponses: 8
    Dernier message: 19/07/2007, 12h15
  4. appel d'une fonction php à partir d'un bouton
    Par Jesmar dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2007, 19h07
  5. Appel d'une méthode à partir d'un nom de méthode
    Par tnarol dans le forum Langage
    Réponses: 20
    Dernier message: 07/03/2007, 17h46

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