...是否有可能在C#中创建热点,以便当鼠标超过某个区域时会触发事件?
答案 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来获取屏幕上的光标位置。