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 :

Récuperer valeur textbox créée manuellement


Sujet :

Windows Forms

  1. #1
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut Récuperer valeur textbox créée manuellement
    Bonjour à tous

    J'ai un pitit problème en C#, surement une erreur toute simple, mais je vois pas.

    Je créé les contrôles de mon form dans le paint de la façon suivante :
    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
     
    TextBox ctrlTextboxLogin;
    private void Form1_Paint(object sender, PaintEventArgs e)
    {
    ...
    ...
    ctrlTextboxLogin = new TextBox();
    Button ctrlButtonLogin = new Button();
     
    ctrlTextboxLogin.Name = "ctrlTextboxLogin";
    ctrlTextboxLogin.TabIndex = 0;
    ctrlTextboxLogin.Font = new Font("Verdana", 10, FontStyle.Regular);
     
    ctrlButtonLogin.Text = "Connexion";
    ctrlButtonLogin.Click += new EventHandler(ctrlButtonLogin_Click);
    ...
    ...
    }
    et dans ma fonction ctrlButtonLogin_Click j'essaie de récupérer le texte entré dans ma textbox, mais cela me retourne toujours "" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void ctrlButtonLogin_Click(object sender, EventArgs e)
    {
    ...
    ...
    string txt = ctrlTextboxLogin.Text;
    ...
    }
    Quelqu'un pourrait-il m'aider ? je ne vois pas où j'ai fait une erreur.

    Merci d'avance pour votre aide !!!

  2. #2
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Personnellement je viens d'essayer le code que tu as donné, en ajoutant une ligne ou deux et je récupère parfaitement le texte du TextBox.

    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
     
    TextBox ctrlTextboxLogin;
     
            public Form1()
            {
                InitializeComponent();
     
                ctrlTextboxLogin = new TextBox();
                Button ctrlButtonLogin = new Button();
     
                ctrlButtonLogin.Text = "Connexion";
                ctrlButtonLogin.Click += new EventHandler(ctrlButtonLogin_Click);
                this.Controls.Add(ctrlButtonLogin);
     
                ctrlTextboxLogin.Name = "ctrlTextboxLogin";
                ctrlTextboxLogin.TabIndex = 0;
                ctrlTextboxLogin.Font = new Font("Verdana", 10, FontStyle.Regular);
                ctrlTextboxLogin.Text = "Coucou";
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void ctrlButtonLogin_Click(object sender, EventArgs e)
            {
                string txt = ctrlTextboxLogin.Text;
                MessageBox.Show(txt);
            }
    La MessageBox me renvoit bien
    Coucou

  3. #3
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut
    Si j'initialise les textbox dans le Load au lieu de Paint, cela fonctionne aussi. Est-ce qu'il est obligatoire d'initialiser les textbox dans le load ?

  4. #4
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    C'est-à-dire que l'événement Paint est appelé lorsque ton contrôle (formulaire ici) est repeint. Tu es certain de passer dedans ?

    Edit: Enfait, l'événement Paint est appelé automatiquement au début, donc forcément que ca y passe, suis bête

    si je place le code dans Form1_Paint, ça fonctionne tout autant chez moi

    Attention que quand tu vas ajouter des contrôles a ta form, l'événement Paint sera de nouveau appelé. Tu voulais initialiser la bas pourquoi ?

  5. #5
    Membre habitué Avatar de PoZZyX
    Inscrit en
    Août 2005
    Messages
    426
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 426
    Points : 154
    Points
    154
    Par défaut
    Je sais pas, j'y avais pas vraiment réfléchi, mais maintenant ça marche, donc merci

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

Discussions similaires

  1. Récuperer valeur d'une textbox pour une requete SQL
    Par yacaflo dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 12/06/2013, 07h26
  2. [Débutant] recuperer la valeur d'un textbox crée dynamiquement
    Par supermec09 dans le forum C#
    Réponses: 2
    Dernier message: 08/03/2012, 19h47
  3. Réponses: 5
    Dernier message: 14/02/2011, 14h36
  4. [E-03] Récuperer valeurs avec des textbox dynamiques
    Par UltrAzimut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/11/2008, 11h27
  5. Réponses: 16
    Dernier message: 29/10/2007, 16h58

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