Annoying thing happening with AutoScroll...

Annoying thing happening with AutoScroll...

This AutoScroll feature
on controls that are ScrollableControls is
pretty neat, but there is a slight problem. Here's the scenario...

Project Setup:

Add a Panel control to a Windows Form. Set
it to AutoScroll.

Within this Panel add a PictureBox. Make this set to AutoSize. Load a large image on the Form's Load
event.

Add a Button to the Windows Form. The code
for the Button's Click event should be pictureBox1.Select()

Test Scenario:

After the application has loaded, scroll to the lower right hand corner of
the PictureBox on the Panel.

Now click the Button.

Notice that the Location of the PictureBox has changed.

This is quite annoying!! I would have figured that the Location should not change. I tried to figure out a
way to prevent this from happening, but after an extensive search I kept getting
the same result. In an internal method call, the RectLocation is being set to
(0,0). I would have figured that the Location
should not change after a Select(). Here's the
relevant portion of my stack trace along with the line that sets the position
back to (0,0) highlighted: