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 :

[C#2]Détection de passage à la ligne dans un textbox


Sujet :

Windows Forms

  1. #1
    Membre du Club Avatar de nephhh
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Points : 62
    Points
    62
    Par défaut [C#2]Détection de passage à la ligne dans un textbox
    Bonjour à tous,

    Voilà j'aimerais savoir si il serais possible de detecter quand le texte d'un textbox arrive à la fin de celui-ci avant qu'il ne saute de ligne si la proprieter MultiLine est activer.

    J'ai essayè cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     if(TextEditor1.Text.Length == (TextEditor1.Width /5))
                {
     
     
                }
    Mais le probléme c'est suivant le type de caracteres et le nombres de repetition le calcul ci-haut peux être erroner (suivant le type de police,...).
    1 caractére = 5 width et + 10 width pour l'espacement du debut

    Merci d'avance

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    il faut mesurer le texte pour obtenir sa taille en pixel, et le comparer avec la taille en pixel du textbox (et prendre la bordure en compte surement)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system.windows.forms.textrenderer.measurestring()
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre du Club Avatar de nephhh
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Points : 62
    Points
    62
    Par défaut
    Bonjour,
    Merci sa ma enormèment aidè dans ma recherche,
    Ce n'est pas encore parfais mais j'ai des resultats dèja plus prècis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Graphics graphics = this.CreateGraphics();
                SizeF textSize = graphics.MeasureString(ultraTextEditor1.Text, this.Font);
     
                if (textSize.Width > ultraTextEditor1.Width)
                {
                    MessageBox.Show("yop");
                }
    Police : Palatino Linotype;

    Il y a juste un probléme avec repetition de la lettre a bizzarement.

    Enfin si quelqu'un pouvais jettez un oeil

    Merci d'avance

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    essaye avec system.windows.forms.textrenderer.measuretext

    et au lieu de mettre this.font, mets le font de ton textbox ca fait quand meme beaucoup plus logique !!
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre du Club Avatar de nephhh
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Points : 62
    Points
    62
    Par défaut
    Je n'ai rien dit, ceci est regler en utilisant une police mono space.

    Merci encore

  6. #6
    Membre du Club Avatar de nephhh
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Points : 62
    Points
    62
    Par défaut
    Ouep dsl je test sa en plus , je te tiens au courant

  7. #7
    Membre du Club Avatar de nephhh
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Points : 62
    Points
    62
    Par défaut
    Merci c'est parfait, c'etait juste cela qui me manquait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Graphics graphics = this.CreateGraphics();
                SizeF textSize = graphics.MeasureString(ultraTextEditor1.Text, ultraTextEditor1.Font);
     
                if (textSize.Width > (ultraTextEditor1.Width))
                {
                    MessageBox.Show("yop");
                }
    Encore merci !!!!

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

Discussions similaires

  1. Problème avec le passage à la ligne dans une Textbox
    Par iFlo1 dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 22/03/2009, 13h47
  2. [ACCESS]Requete SQl de détection de passage à la ligne
    Par Bikra dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 01/07/2008, 10h00
  3. Passage à la ligne dans un label. Pb avec & vbCrLf &
    Par chrislcf dans le forum VB.NET
    Réponses: 6
    Dernier message: 11/06/2008, 22h44
  4. [VBA]Passage à la ligne dans une Textbox
    Par Pmatt dans le forum IHM
    Réponses: 5
    Dernier message: 29/04/2007, 01h03
  5. [VB.net] Détection suppression d'une ligne dans Datagrid
    Par Cereal123 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2006, 14h08

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