Попробуйте что-то вроде этого:
private void textBox1_MouseHover(object sender, EventArgs e)
{
Point toScreen = textBox1.PointToClient(new Point(Control.MousePosition.X + textBox1.Location.X, Control.MousePosition.Y + textBox1.Location.Y));
textBox1.SelectionStart = toScreen.X - textBox1.Location.X;
textBox1.SelectionLength = 5; //some random number
MessageBox.Show(textBox1.SelectedText + Environment.NewLine + textBox1.SelectionStart.ToString());
}
Это работает как-то для меня, но также зависит от того, является ли ваше текстовое поле добавленным элементом управления для самой формы. если он находится внутри панели или что-то еще, код должен быть изменен.
Редактировать Кажется, я неправильно понял ваш вопрос, хотя вам нужно выбрать текст, когда на него наведет курсор мыши! Сожалею! Я полагаю, что вы можете выполнить эту задачу только с помощью RichTextBox
, где вы можете получить позицию каретки в ней!