Not recommended - I don't like DoEvents loop unless absolutely needed
Code:
Dim sngTimer As Single
' -- show your image
sngTimer = Timer
Do Until Timer - sngTimer > 3 Or Timer < sngTimer
DoEvents
Loop
' -- hide your image
Your CPU usage may spike during this timeframe. If it does, you'll want to consider adding a call to the Sleep API. For examples, do a quick search for these terms: DoEvents Sleep
A timer control is easy
1. Add a timer control to your form. Set its Enabled property to: False
2. Show your image and set the timer interval and enabled properties...
Timer1.Interval = 3000: Timer1.Enabled = True
3. In the Timer1_Timer() event...
Timer1.Enabled = False ' then hide your image
4. Done
Note: Timer control Interval property is 1000ths of a second, so 3000 = 3 seconds