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#][.net2] Event SelectedValueChanged lors de la fermetur


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut [C#][.net2] Event SelectedValueChanged lors de la fermetur
    Bonjour à tous,

    J'ai un petit problème avec un evenement sur un comboBox, en fait c'est un selectedValueChanged.

    Mon problème c'est que cet évenement est déclenché lors de la fermeture du programme, j'ai donc une exception qui est levée (NullReference)

    Je ne pige pas pouquoi cet évenement est lancé à la fermeture du programme, ce que voudrais à la limite c'est pouvoir détecter que l'event à été lancé à la fermeture du programme et ne rien faire.

    J'ai aussi essayé avec un SelectedIndexChanged, c'est pareil.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par défaut
    Comment se ferme ce programme ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    Heuu, en appuyant sur la croix à droite ou alors en faisant Fichier -> Quitter qui fait un this.Close();

    Dans les deux cas, ça plante

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Peux tu nous montrer le code que tu places dans ton évènement selectedValueChanged ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par défaut
    La fermeture par Close() est Ok. Il existe des méthodes moins correctes ...

    L'exception est levée pour quel objet null?
    Normalement, ca ne peut être ni Form ni ComboBox.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    En fait je fais ça dans l'event :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void combo_etab_SelectedValueChanged(object sender, EventArgs e)
            {
                this.classeTableAdapter.GetClasseByEtab(this.dataSet1.classe, (int)combo_etab.SelectedValue,true);
                combo_classe.Enabled = true;
                this.disableAll();
                this.eleves_nomTableAdapter.Fill(this.dataSet1.eleves_nom, (int)combo_classe.SelectedValue);
                dataGridView1.Enabled = true;
            }
    Et donc j'ai un :


    Object reference not set to an instance of an object.
    sur la méthode Fill (GetClasseByEtab)

    Si il y avait moyen de faire un test pour ne rien executer dans le cas de la fermeture du programme ça serait top.

    Je vais pas mettre ça dans un bloc try catch et ne rien mettre dans le catch -> ça fonctionne mais c'est pas terrible du tout...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    En fait j'ai l'impression qu'il fait un dispose de tous mes objets et puis qu'il génere un event sur mon comboBox

    C'est bizzare

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Pourquoi ne vérifie tu pas tout simplement si tes instances sont instanciées par cette ligne de code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not eleves_nomTableAdapter Is Nothing Then
    Ca peut être ta condition pour voir si le formulaire est en partie détruit !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    Et bien non, j'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(classeTableAdapter != null && combo_etab != null && this.dataSet1 != null)
    Et il rentre tout de même, donc aucun des 3 n'est NULL, c'est ça que je pige pas

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 77
    Par défaut
    J'ai honte ...

    C'est ma selectedValue qui est à NULL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (combo_etab.SelectedValue != null)
    et c'est bon ...

    Merci bien à vous

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

Discussions similaires

  1. Evènement sur le body lors de la fermeture d'une fenêtre
    Par Yaz dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/09/2005, 17h54
  2. Réponses: 6
    Dernier message: 17/06/2005, 14h40
  3. Réponses: 2
    Dernier message: 18/03/2005, 13h00
  4. Arrêter un ttmt en cours, lors de la fermeture d'une fenêtre
    Par teska dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2004, 14h08
  5. Libérer les ressources lors de la fermeture d'un programme
    Par Heliopraetor dans le forum DirectX
    Réponses: 10
    Dernier message: 14/09/2004, 19h15

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