Creating HotSpots in C#

前端 未结 4 463
南笙
南笙 2021-01-24 00:23

... Is it possible to create hot-spots in C# so that when the mouse is over a certain area an event gets triggered?

相关标签:
4条回答
  • 2021-01-24 01:06

    Create a transparent Panel (truly transparent - by setting the WS_EX_TRANSPARENT bit in its extended window style - here's how), put it in the position you want on top of other controls, and handle MouseMove on it.

    0 讨论(0)
  • 2021-01-24 01:14

    Your standard From object exposes a OnMouseMove event. Given that you don't have any controls where the hot spots will be, you could just handle the coordinates in that event:

    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.
    } 
    
    0 讨论(0)
  • 2021-01-24 01:25

    Add a MouseHover event handler for the control(s) that you want your hotspot over.

    0 讨论(0)
  • 2021-01-24 01:29

    You can use WndProc to capture windows messages, or you could use GetCursorPos to get the cursor position on the screen.

    0 讨论(0)
提交回复
热议问题