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 :

[VS2010][C#]Position dans un RichTextBox


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 40
    Points : 37
    Points
    37
    Par défaut [VS2010][C#]Position dans un RichTextBox
    Bonjour,

    Je souhaite bloquer le nombre de caractères par ligne dans mon richtextbox. Par exemple, il n'est pas possible de saisir plus de 200 caractères par ligne.

    Pour ce faire, je suis partie sur l'idée de récupérer la position en cours quand je tape du texte. De contrôler la longueur du texte saisi sur la ligne et de faire un e.Handled = true; dans la méthode RTB_Texte_KeyPress si le texte saisi est trop long.

    Je ne trouve pas comment faire actuellement. J'ai essayé avec SelectionStart, mais c'est pas la position de la ligne qu'il me renvoie.

    Je n'emploie peut être pas la bonne méthode pour faire cela ?

    Est-ce que quelqu'un peut m'aider ?

    Merci

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Salut,

    Lorsque on passe a la ligne dans une richtextbox, un caractere invisible s'ajoute a ton texte, c'est le \n

    tu peux utiliser un code de se genre la dans l'evenement keypress pour gerer se que tu veux faire:
    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
             String Chaine = richTextBox1.Text;
                //recupere la position de l'\n dans ta chaine
                int index = Chaine.IndexOf("\n");
                //si ya un retour a la ligne
                while (index >= 0)
                {
                    //Tu compte le nombre de caractere avant l'/n (un substring et un .lenght)
                    if (nbCaractere > NbCaractereMax)
                    {
                        //t'empeche la saisie
                    }
     
                    //tu coupe le debut de ta chaine
                    //Tu recupere le nouvelle index pour savoir si ya un autre /n
                    index = Chaine.IndexOf("\n");
                }
    Bon courage

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    Dis moi si je me trompe mais ça ça va fonctionner seulement si je saisie dans l'ordre chronologique. Mais si je décide de modifier ma 1ère ligne par exemple, je fais comment ?
    C'est pour ça que je cherche à savoir sur qu'elle ligne je me trouve au moment de la frappe.

    Merci pour ta réponse. Ca me donne un début de piste

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    j'ai trouvé une solution pour mon pb. En fait je ne vais pas bloquer la saisie. C'est juste au moment du stockage que je vais faire mon découpage en ligne de 512 caractères.

    Merci

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

Discussions similaires

  1. position due la souris dans le richtextbox
    Par TaymouWan dans le forum Windows Forms
    Réponses: 11
    Dernier message: 01/04/2009, 15h40
  2. Réponses: 2
    Dernier message: 15/04/2008, 22h14
  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. [Win32] Position dans un fichier
    Par vecchio dans le forum Windows
    Réponses: 7
    Dernier message: 22/03/2004, 16h47
  5. [VB6] Sauvegarder la position dans un Recordset
    Par inotna2099 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/04/2003, 17h35

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