Я не могу найти способ определить положение каретки в RTB, пока я выбираю текст. SelectionStart
не вариант .
Я хочу определить направление выделения назад или вперед. Я пытаюсь добиться этого в SelectionChanged
event . Любые советы будут оценены.
EDIT:
Я решил это, зарегистрировав направление движения мыши (ось X) с помощью событий mouseDown и mouseUp.
Код:
bool IsMouseButtonPushed = false;
int selectionXPosition = 0, sDirection=0;
private void richTextBox_SelectionChanged(object sender, EventArgs e)
{
if (sDirection==2)//forward
{
//dosomething
}
}
private void richTextBox_MouseMove(object sender, MouseEventArgs e)
{
if (IsMouseButtonPushed && (selectionXPosition - e.X) > 0)//backward
{
sDirection = 1;
}
else if (IsMouseButtonPushed && (selectionXPosition - e.X) < 0)//forward
{
sDirection = 2;
}
}
private void richTextBox_MouseDown(object sender, MouseEventArgs e)
{
IsMouseButtonPushed = true;
selectionXPosition = e.X;
}
private void richTextBox_MouseUp(object sender, MouseEventArgs e)
{
IsMouseButtonPushed = false;
}
Какие еще способы это сделать?