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 :

[VS2005][C#]Contrôle hérité, mapping


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 21
    Par défaut [VS2005][C#]Contrôle hérité, mapping
    Bonjour,

    J'ai créé un contrôle qui hérite d'un contrôle TextBox, mais lorsque j'utilise ce nouveau contrôle j'ai l'impression qu'il rentre en conflit avec mes autres TextBox d'un formulaire.
    Je précise je suis en mapping object.
    Par exemple je rentre 10 dans mon nouveau contrôle, je modifie les données d'un de mes anciens contrôle et hop là mystère le nouveau contrôle ce réinistialise à 0.

    Voici le code de mon composant :
    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
     
    [ToolboxBitmap(typeof(TextBox))] // Pour avoir un bel icone de Textbox dans la toolbox
        class DinTextBox : TextBox
        {
            public int MinValue = 0;
            public int MaxValue = 300;
     
            public DinTextBox() 
             {
             }
     
     protected override void OnValidating(System.ComponentModel.CancelEventArgs e)
     {
     int x;
     try
     {
     x=Int32.Parse(this.Text);
     if ((x < this.MinValue) || (x > this.MaxValue))
     {
         e.Cancel = true;
         MessageBox.Show("Vous devez introduire un entier entre " + this.MinValue + " et " + this.MaxValue);
         return;
     }
     else
     {
         e.Cancel = false;
     }
     }
     catch
     {
     e.Cancel=true;
     MessageBox.Show("Vous devez introduire un entier entre " + this.MinValue + " et " + this.MaxValue);
     return;
     }
     }
        }
    Quelqu'un aurait il une idée?

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Par défaut
    et si dans ton nouveau contrôle tu entre <0 u >300 ca marche ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 21
    Par défaut
    En faite le contrôle marche très bien quand je l'utilise seul.
    Mais c'est lorsque je rentre des données dans une des autres TextBox de mon formulaire qu'apparait le problème. Mon nouveau contrôle se reinitialise à 0 étrangement.

  4. #4
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Salut

    Est-tu sur de ne pas avoir abonne d'autres controles a l'evenement OnValidating?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 21
    Par défaut
    Désolé, cela ne fait pas longtemps que je programme.
    Pourrais tu être plus explicite dans ta réponse?
    Il faut que je regarde dans mon formulaire les contrôles qui seraient succeptibles d'être lié à un OnValidating?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 21
    Par défaut
    Après maintes recherches j'arrives toujours pas à trouver comment les autres TextBoxs de mon formulaire peuvent être liées à l'événement OnValidating du nouveau contrôle que j'ai créé.

  7. #7
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Citation Envoyé par caelum
    Il faut que je regarde dans mon formulaire les contrôles qui seraient succeptibles d'être lié à un OnValidating?
    Oui c'est ca...

    Il faut que tu debugge en mettant des points d'arrets (tu cliques dans la marge du code dans visual studio) et que tu verifie ta stack trace (le chemin d'execution des fonctions)

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/05/2009, 09h56
  2. [C#][2.0] Identifiant de mon contrôle hérité "null"
    Par Damien R dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/11/2006, 10h04
  3. [c#] enregistrer contrôle, erreur VS2005.
    Par Zebeber dans le forum Windows Forms
    Réponses: 8
    Dernier message: 20/04/2006, 20h44
  4. [C#][VS2005]Contrôle utilisateur et saisie TextBox
    Par caelum dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/04/2006, 21h24
  5. [VS2005] Contrôles explorateur de fichier
    Par waici dans le forum Windows Forms
    Réponses: 5
    Dernier message: 11/01/2006, 21h23

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