2017-10-20 19 views
0

J'ai un RichTextBox avec un SpellCheck implémenté. Je veux placer le curseur/caret exactement là où le clic droit est positionné. Par exemple, si j'ai deux mots mal orthographiés tels que:Comment régler le curseur sur la position de RightClick?

Je belive c'est wroking

et je clique droit sur « belive », le menu contextuel qui apparaît est basé sur Wroking, parce que mon curseur a été positionné pour la dernière fois. Pour ouvrir la liste des mots suggérés de "belive", je dois d'abord cliquer sur le mot, pour positionner le curseur, puis sur RightClick. Donc, pour que ce soit clair, je veux positionner automatiquement le curseur où se trouve mon curseur sur RightClick. Est-il possible de faire ça? Merci d'avance.

+1

Pouvez-vous montrer le code que vous avez actuellement pour capturer la position de la souris et afficher le menu contextuel? Le clic droit par défaut déplace le curseur et affiche le menu contextuel dans lequel vous faites un clic droit pour vous donner l'impression que vous l'avez remplacé. – Equalsk

Répondre

0

J'ai trouvé un moyen de résoudre le problème, en obtenant le MousePosition sur MouseRightButtonUp événement et l'attribuant à un TextPointer. De là, je peux sélectionner la gamme exacte du mot actuel, puis faire quelque chose avec.

Point mousePoint = Mouse.GetPosition(textBox);

TextPointer current = textBox.GetPositionFromPoint(mousePoint, true);