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 :

Rendre TextBox vide quand l'utilisateur clique pour taper son texte


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 15
    Points
    15
    Par défaut Rendre TextBox vide quand l'utilisateur clique pour taper son texte
    Bonjour,

    J'ai un textbox dans lequel l'utilisateur doit marquer son nom.
    Lors de l'affichage de la fenêtre, dans le textbox il y a "Écrire nom ici" en gris clair.Je voudrais que lorsque l'utilisateur clique pour taper son nom, le texte disparaisse et qu'il puisse écrire normalment.

    j'ai essayé avec texbox.clear(), le texte est surligné mais il ne s'efface pas et en plus l'utilisateur ne peut plus rien écrire.

    Merci, posez moi des questions si ce n'est pas clair

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    tu peux faire un test dans l'evenement Focus (? si je me rappelle bien...), et, si le texte vaut Écrire nom ici, faire textbox.text = ""

    Je n'ai plus fait de winform depuis 3 ans, mais si tu mets un exemple de code, ce sera peut-etre plus claire (de ce que je me rappelle, ce n'etait pas bien complique...)

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Avril 2009
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Voici un morceau de code qui pourrait peut être t'aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Click
        If TextBox1.Text = "Écrire nom ici" Then
            TextBox1.Text = ""
        End If
    End Sub
    Cordialement

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Le probleme est que je suis un peu perdue car (pour tout vous dire), j'ai une fonction dans mon formulaire qui teste si la langue est le francais ou l'anglais. (L'utilisateur choisit sa langue en cliquant sur un button French ou sur un button English dans le MainForm)
    Donc le texte de mon textbox est soit "Ecrire votre nom ici" soit "Write your name here"

    C'est pourquoi, vu mon niveau...Je ne sais pas trop où écrire les choses entre la function, les propriétés, le sub du textbox ou le tout début (en dessous Me.initialize.component() )

    J'ai donc testé avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub TextBox1TextChanged(ByVal sender As Object, ByVal e As EventArgs)
    	If TextBox1.Text = "Écrire nom ici" or TextBox1.Text = "Write your name here" Then
            TextBox1.Text = ""
            End If
    End Sub
    J'ai "rempli" les textbox ds la function
    Et les textbox sont vides

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    Je ne pense pas que l'évènement click soit forcément le bon à tester ar si l'utilisateur passe de champs en champs avec la tabulation cela ne se déclenchera pas
    J'utiliserais plutôt le KeyPress qui lui ne se déclenchera que quand l'utilisateur saisira effectivement.

    Il existe en VB comme dans d'autres langages d'ailleurs une propriété Tag dont on peut faire ce que l'on veut.
    Donc je mettrais 1 dans le tag au moment ou je valoriserais la propriété Text à Écrire nom ici.
    Je le mettrai à 0 quand l'utilisateur aura saisi. Il me semble plus normal de tester une variable numérique (ici booléenne) qu'un libellé frauçais, anglais ou autre.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    ca me semble interessant, l'idée du keypress est bonne mais comment et où l'écrire?

    Sinon pour le tag, je n'ai pas trop compris car je ne sais pas du tout ce que c'est.A quoi le tag sert t'il et comment l'utiliser?

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    Je me forme actuellement au VB 2008 mais j'ai un passé chargé en VB6.

    Le tag est une propriété libre d'usage pour le développeur.
    On peut donc y mettre ce que l'on veut.

    Donc au moment ou on valorise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.LeTextBox.Text = "Saisissez votre nom"
    Me.LeTextBox.Tag = 1
    Pour l'évènement KeyPress on le voit dans la liste des évènements de l'objet TextBox (cliquer sur le petit éclair).
    Dedans on écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Me.LeTextBox.Tag = 1
       Me.LeTextBox.Tag = 0
       Me.LeTextBox.Text = ""
    End If
    Sauf à ce que cela ait changé l'évènement KeyPress se passe AVANT que la saisie soit prise en compte.

  8. #8
    Membre confirmé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Points : 457
    Points
    457
    Par défaut
    un textbox.gotfocus ne suffit pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub Textbox_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Textbox.GotFocus
    if textbox1.text="Votre nom" then textbox1.text=""
          End Sub
    La Connaissance est comme la joie elle s'accroît en la partageant!

  9. #9
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    un textbox.gotfocus ne suffit pas?
    Ce serait plutôt dangereux.
    Si je reprends l'exemple que j'ai donné le fait de passer d'un champ à l'autre avec la touche Tab ou de cliquer dessus suffirait à vider le contenu sans que rien n'y soit saisi à la place.

  10. #10
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par Delphi-ne Voir le message
    Ce serait plutôt dangereux.
    Si je reprends l'exemple que j'ai donné le fait de passer d'un champ à l'autre avec la touche Tab ou de cliquer dessus suffirait à vider le contenu sans que rien n'y soit saisi à la place.
    Bof...

    suffit de faire un evenement sur le lostfocus (ca existe, ca, non ?), et, si la textbox est vide, de remettre le "Saisissez votre nom"

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Merci beaucoup à tous mais du coup j'ai modifié mon design
    Solution de facilité

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/03/2014, 12h47
  2. Réponses: 4
    Dernier message: 08/03/2008, 16h39
  3. CustomValidator inopérant quand TextBox vide
    Par cyrano_de_bergerac dans le forum C#
    Réponses: 1
    Dernier message: 14/01/2008, 14h48
  4. afficher un message de confirmation quand l'utilisateur clique sur précédent
    Par gunsdeluxe dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/03/2007, 18h27
  5. Rafraichir la page quand l'utilisateur clique sur précédent
    Par BernardT dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/03/2006, 16h09

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