September 19, 2020
Hot Topics:

How to Snap the Cursor to a Button!

  • By Karl Moore
  • Send Email »
  • More Articles »

If you're attempting to create that foolproof Windows application, one great technique to use is that of snapping the cursor to a particular control, anticipating the next click.

The following neat little function does exactly that. Simply pass in a control to get it started: It'll calculate the exact bottom middle location of the control, then snap the cursor to that position. Here's the code:

Public Sub SnapToControl(ByVal Control As Control)
    ' Snaps the cursor to the bottom middle of the passed control
    Dim objPoint As Point = Control.PointToScreen(New Point(0, 0))
    objPoint.X += (Control.Width / 2)
    objPoint.Y += ((Control.Height / 4) * 3)
    Cursor.Position = objPoint
End Sub

And here's how you might use this to snap to, say, a Button control:


Figure: A simple little application, this time snapping to a LinkLabel control

About the Author

Karl Moore (MCSD, MVP) is an experience author living in Yorkshire, England. He is author of numerous technology books, including the new Ultimate VB .NET and ASP.NET Code Book (ISBN 1-59059-106-2, $49.99), plus regularly features at industry conferences and on BBC radio. Moore also runs his own creative consultancy, White Cliff Computing Ltd. Visit his official Web site at www.karlmoore.com.

This article was originally published on October 29, 2003

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date