Перенос материалов на новый сайт Размножение текстов

Перестановка позиции курсора в RichTextBox

Долго думал, как же сделать так, чтобы при клике правой кнопкой мыши переставлялся курсор. перепробовал кучу методов, включая и методы WinAPI mouse_event и SendInput - все тщетно. Озарение пришло внезапно (как это, впрочем, бывает всегда) - а что если попробовать определять позицию слова по позиции мыши? Как оказалось, этот метод срабатывает. Вот такой код:

int pos = rtb.GetCharIndexFromPosition(e.Location);
rtb.SelectionStart = pos;
rtb.SelectionLength = 0;

работает как часы: после клика правой кнопкой курсор переставляется в нужную позицию и мы можем делать со словом, на котором стоит курсор все, что нужно. Вот такой простой подход. Если у кого-то была такая же проблема, можете сравнить свое решение с моим. Может быть, ваше решение лучше?

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Один комментарий на запись “Перестановка позиции курсора в RichTextBox”

  1. Евгений пишет:

    У меня именно так и работает. Только я SelectionLength = 0 не делаю.

Оставить комментарий