I've always coded with the idea that the MouseMove event in VB.NET occurs when the mouse actually moves. However, maybe its my machine, but I created a new project. Added a MouseMove event to the form, with a Debug Statement. This debug statement is always called, even when my mouse is not moving. Odd. I'm using .NET 2003. The problems this causes are many if you assume the mousemove event should only be called when the mouse is actually moving.