Richtextbox

Résolu
doudinho06 Messages postés 32 Date d'inscription jeudi 16 juin 2011 Statut Membre Dernière intervention 19 mai 2014 - 16 sept. 2013 à 15:46
doudinho06 Messages postés 32 Date d'inscription jeudi 16 juin 2011 Statut Membre 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.
A voir également:

4 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
Modifié par jordane45 le 16/09/2013 à 15:51
Bonjour,

En utilisant MID ?

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

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



Cordialement,
Jordane
0
doudinho06 Messages postés 32 Date d'inscription jeudi 16 juin 2011 Statut Membre Dernière intervention 19 mai 2014 1
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
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
Modifié par jordane45 le 16/09/2013 à 16:24
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()
0
doudinho06 Messages postés 32 Date d'inscription jeudi 16 juin 2011 Statut Membre Dernière intervention 19 mai 2014 1
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.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
16 sept. 2013 à 16:33
Et.. mon troisième lien , IndexOf, ça ne donne pas l'index par hasard ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
16 sept. 2013 à 16:27
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

0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
16 sept. 2013 à 16:31
oups! c'est la sélection. Autant pour moi
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
16 sept. 2013 à 17:00
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é.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
17 sept. 2013 à 09:19
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é
0
doudinho06 Messages postés 32 Date d'inscription jeudi 16 juin 2011 Statut Membre Dernière intervention 19 mai 2014 1
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
0
Rejoignez-nous