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

VB.NET Discussion :

Comment redimentionner un TexBox suivent son contenu


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Aucune
    Inscrit en
    Mars 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Mars 2014
    Messages : 34
    Points : 11
    Points
    11
    Par défaut Comment redimentionner un TexBox suivent son contenu
    Bonjour,

    Je voudrait redimensionner en largeur un texbox suivent le texte qu'il y à dedans.
    Il faut passer je pense par des commande via les graphique pour la mesure de la largeur en pixel du texte.

    Voici une page que l'on m'as donné: http://msdn.microsoft.com/fr-fr/libr...vs.110%29.aspx
    Cependant je n'est pas réussi à l'intégrer à mon code car moi je veux que ça se d’éclanche chaque fois que le texte de mon texbox change.

    Pouvez vous m'aider svp car je ne sais vraiment pas comment faire

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    demandeur d'emploi
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : demandeur d'emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 36
    Points
    36
    Par défaut
    Essayez:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        ' textbox1 sur form
     
        Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            Dim txt As TextBox = DirectCast(sender, TextBox)
            txt.Width = TextRenderer.MeasureText(txt.Text, txt.Font).Width + 10
        End Sub
    Ou (plus avance):
    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
     
         ' pour cet exemple: textbox1.multiline = true 
     
        Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            Dim maxwidth = 200
            Dim txt As TextBox = DirectCast(sender, TextBox)
     
            Dim txtsize As Size = TextRenderer.MeasureText(txt.Text, txt.Font)
     
            If txt.Width <= maxwidth Then
                txt.Width = txtsize.Width + 10
            Else
                txt.Height = (CInt(txtsize.Width / txt.Width) + 3) * txtsize.Height
            End If
        End Sub
    A Paris. Je cherche d'emploi (France, Maroc, Moyen Orient, autres a discuter).
    Je comprends presque tout en francais mais je n'ecris pas bien, desole

  3. #3
    Membre à l'essai
    Homme Profil pro
    Aucune
    Inscrit en
    Mars 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Mars 2014
    Messages : 34
    Points : 11
    Points
    11
    Par défaut
    Ni quel chrome, merci beaucoup

    Edit: Après modifications, voici le résulta:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
     
            Dim MonTextBox As TextBox = DirectCast(sender, TextBox)
            Dim MonTextBoxSize As Size = TextRenderer.MeasureText(MonTextBox.Text, MonTextBox.Font)
     
            MonTextBox.Width = TextRenderer.MeasureText(MonTextBox.Text, MonTextBox.Font).Width + 5
     
            If MonTextBox.Width < 15 Then
                MonTextBox.Width = 15
            End If
     
        End Sub

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

Discussions similaires

  1. [GTK#]Comment afficher une frame et son contenu?
    Par mick2d dans le forum GTK+
    Réponses: 3
    Dernier message: 31/03/2006, 09h35
  2. Réponses: 9
    Dernier message: 24/10/2005, 18h42
  3. Comment redimensionner un TEdit en fonction de son contenu ?
    Par Tempotpo dans le forum Composants VCL
    Réponses: 10
    Dernier message: 25/07/2005, 21h52
  4. Comment copier un répertoire et son contenu ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 20/06/2004, 17h40

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