Friday, July 13, 2007

How to Snap the Cursor to a Button!

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 contro

No comments: