Richtextbox [Résolu]

doudinho06 33 Messages postés jeudi 16 juin 2011Date d'inscription 19 mai 2014 Dernière intervention - 16 sept. 2013 à 15:46 - Dernière réponse : doudinho06 33 Messages postés jeudi 16 juin 2011Date d'inscription 19 mai 2014 Dernière intervention
- 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 

10 réponses

jordane45 21438 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - Modifié par jordane45 le 16/09/2013 à 15:51
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 33 Messages postés jeudi 16 juin 2011Date d'inscription 19 mai 2014 Dernière intervention - 16 sept. 2013 à 16:04
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 21438 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 16 sept. 2013 à 16:21
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 33 Messages postés jeudi 16 juin 2011Date d'inscription 19 mai 2014 Dernière intervention - 16 sept. 2013 à 16:26
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 21438 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 16 sept. 2013 à 16:33
Et.. mon troisième lien , IndexOf, ça ne donne pas l'index par hasard ?
cs_Le Pivert 5185 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 22 juin 2018 Dernière intervention - 16 sept. 2013 à 16:27
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 5185 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 22 juin 2018 Dernière intervention - 16 sept. 2013 à 16:31
oups! c'est la sélection. Autant pour moi
jordane45 21438 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 21 juin 2018 Dernière intervention - 16 sept. 2013 à 17:00
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é.
cs_Le Pivert 5185 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 22 juin 2018 Dernière intervention - 17 sept. 2013 à 09:19
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 33 Messages postés jeudi 16 juin 2011Date d'inscription 19 mai 2014 Dernière intervention - 17 sept. 2013 à 10:46
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.