Microsoft & .NET.NETHow to Snap the Cursor to a Button!

How to Snap the Cursor to a Button! content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

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

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories