You must use RichTextBox.GetCharIndexFromPosition( point ).
To get the index of the first visible character, go through new Point(0, 0)(upper left corner of the RTB client area) as a parameter point.
To get the index of the last visible character, pass new Point(rtb.ClientSize.Width, rtb.ClientSize.Height)as a parameter point.
RichTextBox.Text.Substring() .
RichTextBox.GetLineFromCharIndex() .