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 :

Richtextbox et le GetFirstCharIndexOfCurrentLine() [Débutant]


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2015
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Richtextbox et le GetFirstCharIndexOfCurrentLine()
    Bonjour,

    J'ai une difficulté à comprendre comment gérer le nombre de lignes d'une richtextbox.
    Je ne sais pas comment récupérer la ligne courante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rtb.Lines(rtb.GetLineFromCharIndex(rtb.GetFirstCharIndexOfCurrentLine()))
    En mode wordwrap = false, cela marche très bien.
    Mais si je mets wordwrap = true et dès que j'ai un retours à la ligne automatique dans mon éditeur cela me génère une exception et un dépassement du tableau.

    Comment surmonter cette difficulté ?

    Edit : j'ai trouvé une solution qui est très vilaine visuellement : je mets rtb.worwrap = false juste avant mon code puis je le remets sur true après. Ce n'est vraiment pas satisfaisant esthétiquement car ça crée un mouvement désagréable dans la richtextbox. Si quelqu'un a une meilleure solution, je suis preneur.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    En fait, la notion de ligne d'un RichTextBox, c'est plutôt un paragraphe qu'une ligne à strictement parler. Ceci dit, je n'ai jamais testé si le saut de ligne et le saut de paragraphe ajouté dans le code ont le même effet dans un RichTextBox.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2015
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Bonjour,

    En fait, la notion de ligne d'un RichTextBox, c'est plutôt un paragraphe qu'une ligne à strictement parler. Ceci dit, je n'ai jamais testé si le saut de ligne et le saut de paragraphe ajouté dans le code ont le même effet dans un RichTextBox.
    Merci,

    Je viens de comprendre que le problème ne venait pas de GetFirstCharIndexOfCurrentLine(), qui indique bien l'index du caractère de la ligne courante et visible de l'éditeur richtextbox. Mais la difficulté vient bien de la compréhension de la notion de ligne par la richtextbox. Si en mode wordwrap=false cela coule de source car visuel, cela n'est pas le cas en mode worwrap=true.

    J'ai donc trouvé une alternative qui me satisfait. Je peux récupérer ma ligne en utilisant un genre de code comme celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim indexcl as integer = rtb.GetFirstCharIndexOfCurrentLine
    Dim submystring As String = Mid(rtb.Text, indexcl, rtb.SelectionStart)

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

Discussions similaires

  1. [VB6] Ne pas faire de retour automatique dans un RichTextBox
    Par Arthaniel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/01/2005, 03h00
  2. [VB.NET] Marge & Richtextbox
    Par Berns dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/09/2004, 09h45
  3. [VB.NET] Pb avec le soulignement dans un RichTextBox
    Par Ludog35 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/06/2004, 18h59
  4. [VB6] Ecrire à un endroit précis d'un richtextbox
    Par STG dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 26/11/2002, 14h35
  5. [VB6] [RichTextBox] Aller en bas
    Par fea dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 22/10/2002, 11h24

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