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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| Public Class Form1
Dim Curseur_x_y As New Point
Dim Charindex As Integer = 0
Dim i As Integer = 0
Dim Ligne As Integer = 0
Dim Fin_Mot As Integer = 0
Dim Début_Mot As Integer = 0
Dim spaceOrCRLFfound As Boolean = False
Dim Clic As Boolean = False
Private Sub RichTextBox1_Click(sender As Object, e As EventArgs) Handles RichTextBox1.Click
Clic = True
End Sub
Private Sub RichTextBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles RichTextBox1.MouseMove
If RichTextBox1.Lines.Count = 0 Then 'Si aucune ligne n'est présente dans la richtextbox, alors :'
Exit Sub 'Sort de la fonctions.'
End If 'Fin de la condition.'
Curseur_x_y = e.Location 'Curseur_x_y = position actuelle du curseur de la souris.'
Charindex = RichTextBox1.GetCharIndexFromPosition(Curseur_x_y) 'Charindex = position du caractère présent dans la richtextbox, le plus proche du curseur de la souris.'
'Si le curseur de la souris (Charindex), se situe sur un espace, ou si il ce situe sur un retour à la ligne, ou si il ce situe sur un point, ou si il ce situe sur une virgule,'
If RichTextBox1.Text(Charindex) = " " _
OrElse RichTextBox1.Text(Charindex) = Chr(10) _
OrElse RichTextBox1.Text(Charindex) = Chr(46) _
OrElse RichTextBox1.Text(Charindex) = Chr(44) Then
Exit Sub 'Sort de la fonctions.'
End If 'Fin de la condition.'
Ligne = RichTextBox1.GetLineFromCharIndex(Charindex) 'Ligne = numéro de ligne où le curseur de la souris ce situe.'
i = Charindex 'La valeur Charindex (position du caractère présent dans la richtextbox, le plus proche du curseur de la souris) est stockée dans i.'
spaceOrCRLFfound = False
While Not spaceOrCRLFfound
If i = -1 OrElse RichTextBox1.Text.Count = i _
OrElse RichTextBox1.Text(i) = " " _
OrElse RichTextBox1.Text(i) = Chr(10) _
OrElse RichTextBox1.Text(i) = Chr(13) _
OrElse RichTextBox1.Text(i) = Chr(46) _
OrElse RichTextBox1.Text(i) = Chr(44) Then
spaceOrCRLFfound = True
Else
i -= 1
End If
End While
Début_Mot = i
spaceOrCRLFfound = False
i = Charindex
While Not spaceOrCRLFfound
If i = -1 OrElse RichTextBox1.Text.Count = i _
OrElse RichTextBox1.Text(i) = " " _
OrElse RichTextBox1.Text(i) = Chr(10) _
OrElse RichTextBox1.Text(i) = Chr(13) _
OrElse RichTextBox1.Text(i) = Chr(46) _
OrElse RichTextBox1.Text(i) = Chr(44) Then
spaceOrCRLFfound = True
Else
i += 1
End If
End While
Fin_Mot = i
RichTextBox1.Select(Début_Mot + 1, Fin_Mot - Début_Mot - 1)
If Clic Then
Label1.Text = "Ligne : " & Ligne & ". Mot : " & RichTextBox1.SelectedText
Clic = False
End If
End Sub
End Class |