Quiero mostrar una información sobre herramientas cuando el mouse se desplaza sobre un enlace en mi control personalizado rich edit. Considere el siguiente texto:Mostrar información sobre herramientas en el mouse sobre un texto
Todos sueño en la noche.
En mi caso la palabra sueño es un enlace.
Cuando el usuario mueve el mouse debajo del enlace, en este caso "suspensión", quiero mostrar una información sobre herramientas para el enlace.
El siguiente vino a mi mente, pero no están trabajando
1) El atrapar OnMouseHover
if(this.Cursor == Cursors.Hand)
tooltip.Show(textbox,"My tooltip");
else
tooltip.Hide(textbox);
pero esto no funcionó.
ACTUALIZACIÓN
Los enlaces mencionados son no URL, es decir estos son enlaces personalizados, por lo Regex no será de mucha ayuda aquí, puede ser cualquier texto. El usuario puede elegir crearlo como un enlace.
Aunque no he probado el método GetPosition
, no creo que sea tan elegante en términos de diseño y mantenimiento.
Déjame decir que tengo la siguiente línea, en mi caja richedit
Nos sueño por la noche. Pero los murciélagos se quedan despierto. Las cucarachas se convierten en active en la noche.
En la frase anterior, quiero tres información sobre herramientas diferentes, cuando el mouse se cierne sobre ellas.
sleep -> Human beings
awake -> Nightwatchman here
active -> My day begins
I atrapado OnMouseMove
de la siguiente manera:
trabajadora con 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");
}
}
que no trabaja - con Tooltip - Información sobre herramientas no aparece
OnMouseMove(MouseventArgs e)
{
if(cursor.current == cursors.hand)
{
tooltip.show(richeditbox,e.x,e.y,1000);
}
}
Esto funcionó ... tooltip.Active = true –
Oh, no me di cuenta de que su problema era la información sobre herramientas ... De todos modos, use System.Windows. Forms.Cursor.Current para obtener estáticamente el cursor del mouse actual, como en mi última respuesta. – Shimmy