在C#中创建HotSpots

时间:2009-08-13 05:20:42

标签: c# winforms

...是否有可能在C#中创建热点,以便当鼠标超过某个区域时会触发事件?

4 个答案:

答案 0 :(得分:4)

您的标准From对象公开OnMouseMove事件。鉴于您没有热点所在的任何控件,您可以只处理该事件中的坐标:

protected override void OnMouseMove(MouseEventArgs mouseEvent) 
{ 
     string X = mouseEvent.X.ToString();
     string Y = mouseEvent.Y.ToString(); 

     //Add code here to match X & Y to your hot spot coordinates.
} 

答案 1 :(得分:3)

创建一个透明的Panel(真正透明 - 通过在其扩展窗口样式中设置WS_EX_TRANSPARENT位 - here's how),将其置于其他控件之上的所需位置,并处理{{ 1}}就可以了。

答案 2 :(得分:1)

为您想要热点的控件添加MouseHover事件处理程序。

答案 3 :(得分:0)

您可以使用WndProc捕获Windows消息,也可以使用GetCursorPos来获取屏幕上的光标位置。