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

C# Discussion :

probleme de sélection RichTextBox


Sujet :

C#

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 98
    Points : 64
    Points
    64
    Par défaut probleme de sélection RichTextBox
    Bonsoir à tous,

    J'ai un problème (surement tout bête) avec un richtextbox. Je veux sélectionner une partie du texte puis la changer de couleur donc je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rtb.Select(i, chaine.Length);
    rtb.SelectionColor = Color.Blue;
    j ai aussi essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    rtb.SelectionStart(i);
    rtb.SelectionLength(chaine.Length);
    rtb.SelectionColor = Color.Blue;
    Mais dans les deux cas cela m'afface la partie du texte qu'il devrait sélectionner...

    J'aimerais savoir comment faut faire pour sélectionner une partie du texte par le code ?

    Merci d'avance pour votre aide...

  2. #2
    Membre régulier Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Points : 78
    Points
    78
    Par défaut
    hmmm... c'est étrange. Moi ici ton code fonctionne bien. J'ai essayé plusieurs possibilités et je n'ai aucun problème.

    Ca vient peut-être du fait que tu a mis un Listener sur ton RTB qui efface la sélection... peu probable, mais je ne vois vraiment pas... Le problème vient sûrment d'ailleur

    Désolé

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 98
    Points : 64
    Points
    64
    Par défaut
    Bonjour à tous et merci deejay2221 pour ta réponse

    C'est bon je m'en suis sorti , voilà mon code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    if(chaine.Trim().Length > 0 && !chaine.Substring(chaine.Length-1, 1).Equals(" "))
                    {
                        chaine = chaine.TrimEnd();
                        int i = chaine.Length;
                        while (i > 0 && !chaine.Substring(i - 1, 1).Equals(" "))
                        {
                            mot = mot.Insert(0, chaine.Substring(i - 1, 1));
                            i--;
                        }
                        if (mot.Length > 0)
                        {
                            StreamReader lire = new StreamReader("html.txt");
                            string ch = lire.ReadLine();
                            while ( ch != null && !ch.Split('|')[1].Equals(mot.ToLower()))
                            {
                                ch = lire.ReadLine();
                            }
                            if (ch != null && ch.Split('|')[1].Equals(mot.ToLower()))
                            {
                                rtb.Text = rtb.Text.Insert(i, ch.Split('|')[1]);
                                rtb.Text = rtb.Text.Remove(i + ch.Split('|')[1].Length, mot.Length);
                                rtb.Select(i, ch.Split('|')[1].Length);
                                if (Int32.Parse(ch.Split('|')[0]) == 0)
                                {
                                    rtb.SelectionColor = Color.Blue;
                                }
                                else
                                {
                                    rtb.SelectionColor = Color.Red;
                                }
                            }
                            lire.Close();
                            lire.Dispose();
                        }
                    }
    // J'ai juste rajouté cela et maintenant tout va bien 
                    rtb.SelectionStart = rtb.TextLength;
    Par contre j ai un autre souci car là tout fontionne bien, il met bien les mots qu'il faut ds la bonne couleur par contre si j ai un second mot à mettre en couleur ben là il me remet le précédent en noir.

    Je m explique dans mon fichier j'ai les mots : je, mon

    Si j'écris :

    je joue ====> il affiche : je joue

    par contre si j'écris :
    je joue sur mon PC ====> il affiche : je joue sur mon PC

    Si quelqu'un aurait une idée cela serait très sympa parce que là je m'arache les cheveux

Discussions similaires

  1. Probleme de sélection à partir de 10h
    Par Invité dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 20/01/2008, 17h55
  2. [MySQL] probleme de sélection de variable
    Par Larffas dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/10/2007, 10h17
  3. Probleme avec le richtextbox
    Par a.bott dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/05/2007, 13h11
  4. [Etat]Probleme de sélection de page dans Etat
    Par ThieBEN dans le forum IHM
    Réponses: 15
    Dernier message: 14/04/2007, 17h36
  5. [VB.net Express] Probleme de sélection et Refresh()
    Par Wormy7 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/10/2006, 16h32

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