Я хочу отображать всплывающую подсказку при наведении указателя мыши на ссылку в моем настраиваемом элементе управления Rich Edit. Рассмотрим следующий текст:
Мы все спим по ночам.
В моем случае слово сон - это ссылка.
Когда пользователь перемещает указатель мыши по ссылке, в данном случае «спящий», я хочу отобразить всплывающую подсказку для ссылки.
Мне пришло в голову следующее, но они не работают
1) Захват OnMouseHover
if(this.Cursor == Cursors.Hand)
tooltip.Show(textbox,"My tooltip");
else
tooltip.Hide(textbox);
Но из этого не выходит.
ОБНОВЛЕНИЕ
Упомянутые ссылки являются не URL-адресами, т. Е. Это настраиваемые ссылки, поэтому Regex здесь не поможет, это может быть любой текст. Пользователь может создать ссылку.
Хотя я не пробовал GetPosition
метод, я не думаю, что он был бы таким элегантным с точки зрения дизайна и обслуживания.
Позвольте мне сказать, что у меня есть следующая строка в моей коробке richedit
Мы спим ночью. Но летучие мыши остаются бодрствующими. Ночью тараканы становятся активными.
В приведенном выше предложении мне нужны три разных всплывающих подсказки при наведении курсора мыши на них.
sleep -> Human beings
awake -> Nightwatchman here
active -> My day begins
Я поймал OnMouseMove
следующим образом:
Работа с Messagebox
OnMouseMove( )
{
// check to see if the cursor is over a link
// though this is not the correct approach, I am worried why does not a tooltip show up
if(this.Cursor.current == Cursors.hand )
{
Messagebox.show("you are under a link");
}
}
Не работает - с подсказкой - подсказка не отображается
OnMouseMove( MouseventArgs e )
{
if(cursor.current == cursors.hand )
{
tooltip.show(richeditbox,e.x,e.y,1000);
}
}