Richtextbox [Résolu]

Messages postés
33
Date d'inscription
jeudi 16 juin 2011
Dernière intervention
19 mai 2014
- - Dernière réponse : doudinho06
Messages postés
33
Date d'inscription
jeudi 16 juin 2011
Dernière intervention
19 mai 2014
- 17 sept. 2013 à 10:46
Bonjour les pro,

mon besoin est:

j'ai un richtextbox dans le quel je charge un bout de text.
Pour une ligne donnée, je veux selectionner le caractere 12 par exemple.
j'ai cherché sur les forums et je me suis aperçu qu'il me faut l'index du caractere alors que moi j'ai que sa position sachant qu'un caractére peux se trouvé répété dans la ligne. mais je veux selectionner que le caractere 12 de ma ligne n.
RichTextBox2.GetFirstCharIndexFromLine(n)

cette commande me renvoie l'index du premier caractere comme vous pouvez le constater et non pas le caractére de notre choix(caractere 12 par exemple).
Quelqu'un a une idée?

Merci d'avance.
Afficher la suite 

4 réponses

Messages postés
23592
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
12 décembre 2018
0
Merci
Bonjour,

En utilisant MID ?

http://msdn.microsoft.com/fr-fr/library/8kyd8789.aspx

Dim MyCar As String = Mid(MonTexte, 12, 1)



Cordialement,
Jordane
doudinho06
Messages postés
33
Date d'inscription
jeudi 16 juin 2011
Dernière intervention
19 mai 2014
-
Merci pour votre reactivité,

La fonction Mid permet de renvoyer du text entre deux position!
moi je cherche l'index d'un caractére dans une ligne donnée d'un richtextbox! je comprend pas comment la fonction Mid peut m'aider dans ce cas là!!

Merci
jordane45
Messages postés
23592
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
12 décembre 2018
-
Autant pour moi..
je veux selectionner le caractere 12 par exemple
Vous ne souhaitez pas récupérer la valeur du douzième caractère mais le sectionner dans votre textBox ?
Dans ce cas :

selectionStart

Et :
selectionLength

Et pour trouver l'index du caractère recherché :
String.indexOf()
doudinho06
Messages postés
33
Date d'inscription
jeudi 16 juin 2011
Dernière intervention
19 mai 2014
-
Effectivement,
mais le selection start utilise l'index du caractére et non pas sa position!

RichTextBox2.SelectionStart = RichTextBox2.GetFirstCharIndexFromLine(n)


je veux l'equivalent de cette ligne de code mais pas pour le "FirstChar". pour un char de mon choix.
jordane45
Messages postés
23592
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
12 décembre 2018
-
Et.. mon troisième lien , IndexOf, ça ne donne pas l'index par hasard ?
Messages postés
5599
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
Bonjour,

Regarde ceci:

http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.strings.getchar.aspx

Un petit exemple:

  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim TestString As String = RichTextBox1.Text
        Dim TestChar As Char
        ' Returns "s"
        TestChar = GetChar(TestString, 12)
        MsgBox(TestChar)
    End Sub
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        RichTextBox1.Text = "azertyuiopqsdfg"
    End Sub

cs_Le Pivert
Messages postés
5599
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 décembre 2018
-
oups! c'est la sélection. Autant pour moi
Messages postés
23592
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
12 décembre 2018
0
Merci
Vous pouvez aussi jetter un oeil à ceci :
richtextbox.getcharindexfromposition

=> Récupère l'index du caractère le plus proche de l'emplacement spécifié.
Messages postés
5599
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 décembre 2018
0
Merci
J'ai trouvé, mais il faut utiliser l'évènement
RichTextBox1_TextChanged comme ceci:

 Private Sub RichTextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles RichTextBox1.TextChanged
        RichTextBox1.Select(11, 1)
    End Sub


Qui est le raccourci de:

RichTextBox1.SelectionStart = 11 'position de départ 

RichTextBox1.SelectionLength = 1 'nombre de caractère sélectionné
doudinho06
Messages postés
33
Date d'inscription
jeudi 16 juin 2011
Dernière intervention
19 mai 2014
-
RichTextBox1.SelectionStart = 11 'position de départ


permet de donner l'index du 11e caractére mais toujour de la ligne 1.
il fallait juste ajouter
RichTextBox1.SelectionStart = numero_ligne+11

RichTextBox1.SelectionLength = 1

RichTextBox1.SelectionColor = System.Drawing.Color.DarkSeaGreen
'pour changer sa couleur

Merci pour ton aide Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.