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 :

Contenu d'un masktextbox


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut Contenu d'un masktextbox
    Bonjour,

    J'ai une question qui va peut-être paraître idiote ...

    Je développe une application de comptabilité pour un buraliste dans laquelle le client a une liste de comptes analytiques (tabac, journaux, presse, ...) qu'il peut faire évoluer.

    Dans mon formload, je récupère le nombre de comptes dans la bdd, puis je créé autant de masktextbox qu'il y a de comptes (saisie du chiffre d'affaires pour chaque compte).

    Mon problème c'est je n'arrive pas à récupérer leur contenu pour mettre à jour ma bdd.

    Question : quand je lance mon appli, les masktextbox n'éxistent pas encore, est-ce pour ça que je n'atteint pas la propriété text ??

    Merci et bonne année.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    si tu instancies des controles pendant l'execution il y a plusieurs moyens de les adresser

    le plus simple étant de leur donner un nom


    while reader.read
    dim t as new maskedtextbox
    t.name = "machin" & reader.item.....tostring
    me.controls.Add(t)
    end while


    puis

    directcast(me.controls("machin1"),maskedtextbox).text
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    Salut, merci pour ta réponse.

    Malheureusement ça ne marche pas.

    Voici un extrait de mon code C# :

    Dans le formload :

    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
     
    public void Journal_Load(object sender, EventArgs e)
            {
    int j = 131;
     
                while (i > 0)
                {
    Point Position = new Point(250, j);
                    Mask = new MaskedTextBox();
                    Mask.Location = Position;
                    Mask.Mask = "00000.00";
                    string NomMask = "MaskTextBox" + y.ToString();
                    Mask.Name = NomMask;
                    Mask.Font = new System.Drawing.Font("Calibri", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                    Mask.Size = new Size(221, 30);
                    Mask.TabIndex = 106;
                    Mask.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
                    Controls.Add(Mask);
     
                    i--;
                    y++;
                    j += 50;
                }
            }
    Là mes maskedtextbox sont bien créées et elles portent bien le nom que je leur donne et l'incrément.

    Ensuite sur un bouton j'essaie de récupérer leur contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void BtnValidSaisie_Click(object sender, EventArgs e)
            {
                for (int a = 0; a < y; a++)
                {
                    string date = DTP.Text;
                    string Libe = TabComptes[a];
                    string Ca = ("MaskTextBox" + a.ToString()).Text;
                    //MessageBox.Show(Ca);
                    //MaConnexion.EnregistrerJournal(date, Lib, ca);
                }
            }
    Mais ça marche pas !!

    Une idée ???

    Merci d'avance !

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    c'est la collection controls de la form qui peut te permettre de retrouver les maskedtextbox, comme j'ai mis précédemment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.controls("MaskTextBox" + a.ToString())
    après il est possible de caster, enfin .Text doit etre sur la classe control directement
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 31
    Par défaut
    Le problème c'est que le this.Controls("MaskTextBox" + a.ToString()), il en veut pas !!

    Car Controls est une propriété utilisée comme une méthode.

    Je ne m'en sort pas !!...

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    Citation Envoyé par toma8175 Voir le message
    une propriété utilisée comme une méthode.


    hein ??


    ca marche parfaitement, y a un truc que t'as pas compris je pense
    this.controls(nom_du_control_as_string) est une propriété de la classe form qui retourne le controle As Control
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38
  2. Perte du contenu des blobs
    Par macakou99 dans le forum Débuter
    Réponses: 10
    Dernier message: 22/05/2003, 15h17
  3. [LG]Ecrire le contenu d'un fichier dans un autre
    Par lucke dans le forum Langage
    Réponses: 10
    Dernier message: 26/04/2003, 20h48
  4. Réponses: 1
    Dernier message: 12/02/2003, 09h36
  5. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41

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