Also keep in mind the control's parent/container ScaleMode property. If the control is on a form and form's ScaleMode is Twips, simply subtracting 1 has little effect.
Insomnia is just a byproduct of, "It can't be done"
Here's an example project I've made to show you how to use a timer control along with a couple UDTs to handle moving an object according to a start/end location and time scale(seconds).
If you have any problems with the code just post a reply.
Add a timer, named: tMain; set the interval to 10, or more
Add a Label(or Image control, or Picture, etc.), named: lPic, or rename it to your control
If all images always scroll the same amount and are next to each other, you could use a single container control such as a borderless Frame and move that single control. All the children remain in the same position, only the container needs to move.
Also, setting ScaleMode to vbPixels for the container's parent control (such as a Form or a PictureBox) will make moving by 1 more visible. One twip (the default unit for ScaleMode) is 1/15 of a pixel (ie. 15 twips = 1 pixel). Scrolling by 1 pixel may be slow though, if you need more speed then you want to move by larger values.