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 :

Load form set Objet


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur C#
    Inscrit en
    Avril 2011
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur C#
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 348
    Par défaut Load form set Objet
    Bonjour,

    J'ai un form avec textbox

    Quand je change la valeur dans ce textbox,
    j'envoie la valeur dans une variable privée d'un objet par le Setter.

    Quand je load mon form, je charge mon objet et envoie la valeur dans mon textBox,

    LE PROBLEME : au load, il effectue le traitement du setter car quand j'envoie la valeur dans le textbox je suis envoyé dans l'evenement textchange du TextBox et il effectue le traitement de Setter ma variable dans l'objet,

    Comment pourrais-je palier à ca ?

    Vous m'direz, je n'ai qu'a désactiver l'event sur ce textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    this.tb_Autres.TextChanged-= new EventHandler(this.tb_Autres_TextChanged);
     
    //traitement
     
    this.tb_Autres.TextChanged+= new EventHandler(this.tb_Autres_TextChanged);
    Mais quand il faut le faire pour une 30 aine de form ...

    Auriez-vous une idée de comment faire ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 196
    Par défaut
    Tu mets une fonction initialisation que tu appelles au chargement de la form, et dans cette fonction, tu créés ton évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.tb_Autres.TextChanged+= new EventHandler(this.tb_Autres_TextChanged);
    et si c'est comme moi, il ne passe pas dans ta fonction évènement au chargement de la form.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur C#
    Inscrit en
    Avril 2011
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur C#
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 348
    Par défaut
    je ne comprend pas ton raisonnement, je ne vois pas le rapport avec ma demande

    Quand tu instancie un objet Form,
    Il passe de toute manière dans le constructeur qui lui initialize les évenements.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 196
    Par défaut
    oui, il les initialise, mais ne rentre pas dans la fonction évènement!!! Aucune idée du pourquoi, je m'en suis apperçu une fois que j'ai eu le même soucis que toi.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur C#
    Inscrit en
    Avril 2011
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur C#
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 348
    Par défaut
    Je ne suis pas sur qu'on se comprennent, ou c'est moi qui ne comprend rien, c'est possible, c'est vendredi

    Je suis dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void Manometre_Load(object sender, EventArgs e)
    {
          this.tb_Autre.Text = "ho ho ho";
    }
    Et la ==>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void tb_Autre_TextChanged(...)
    {
         monObjet.JeSetMaVarPrivée(this.tb_Autre.Text);
    }
    Je veux qu'au LOAD, il ne rendre pas dans l'évenement 'tb_Autre_TextChanged'

    et JE NE VEUX PAS mettre des

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    this.tb_Autres.TextChanged-= new EventHandler(this.tb_Autres_TextChanged);
     
    this.tb_Autre.Text = "ho ho ho";
     
    this.tb_Autres.TextChanged+= new EventHandler(this.tb_Autres_TextChanged);
    Pour chacun de mes champ du Formulaire.



    Je ne comprend pas ta démarche, pourquoi j'irais crée un évenement dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private void Manometre_Load(object sender, EventArgs e)
    Alors qu'il à déjà été crée dans le constructeur de mon formulaire ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 196
    Par défaut
    autant pour moi, j'ai loupé une ligne dsl

    par contre, tu peux toujours créer l'évènement après le chargement de la chaîne de caractère dans ton textbox et non dans le formulaire. ça résoudra ton problème si je ne me troupe pas encore une fois. Car là, il ne créera l'évènement qu'après avoir complété le textbox^^

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/03/2012, 16h03
  2. Load Form ne marche pas
    Par Chipss dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/08/2010, 10h52
  3. [VBA-Form]Quel objet rajouter pour dessiner dans une userform?
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2008, 10h37
  4. la reconnaîssance de formes des objets détectés
    Par inès83 dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 07/08/2008, 17h44
  5. [DOM XML] Erreur fonction load() d'un objet dom??
    Par ribrok dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h43

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