1 pièce(s) jointe(s)
Probléme de couleur dans richtextbox avec un thread
Bonjour,
je suis entrain de améliorer mon programme de recherche des fichiers dans un dossier mais mon problème avec plusieurs mot a changer de couleur dans le résultats dans richtextbox ça tourne en boucle mais avec un seul mot à changer de couleur ça fonctionne très bien. j'arrive pas à trouver la solution à mon problème. pourquoi ça tourne en boucle avec plusieurs mot à changer de couleur dans richtextbox.:help::help:
voici ce que ça donne avec deux mot à changer :
Pièce jointe 623137
le code du mot à rechercher :
Code:
1 2 3 4 5
| For i = 0 To p.Value - 1 Step 1
...etc
LogColor(RichTextBox1, p.Offset.Item(i), Color.Green)
LogColor(RichTextBox1, p.Pattern, Color.Red)
Next i |
le code de couleur dans richtextbox :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Private Sub LogColor(ByVal box As RichTextBox, ByVal word As String, ByVal color As Color)
If box.InvokeRequired Then
box.Invoke(New UpdateResultDelegate(AddressOf LogColor), box, word, color)
Else
If String.IsNullOrEmpty(word) Then Return
Dim pos As Integer = 0
Do
If pos <> 0 AndAlso pos + word.Length < box.TextLength - 1 Then pos += word.Length
pos = box.Find(word, pos, RichTextBoxFinds.NoHighlight Or RichTextBoxFinds.WholeWord)
If pos > 0 Then
box.Select(pos, word.Length)
box.SelectionAlignment = HorizontalAlignment.Center
box.SelectionColor = color
End If
If pos + word.Length > box.TextLength - 1 Then Exit Do
Loop While pos >= 0 AndAlso pos < box.TextLength - 1
End If
End Sub |
pouvez-vous me dire pourquoi avec plusieurs mot ça tourne en boucle avec deux mot à changer de couleur dans richtextbox1?
Merci d'avance