Jim,
That's what I did. I used the form keypress so that I wouldn't have to deal with the GotFocus() of every control. This handles using tabs or other keystrokes to move to a control that's off the form. It doesn't address using the mouse to access a control that's partially off the form, but I figure if the user is already using the mouse it's not unreasonable to expect him or her to use the mouse to scroll the form.
>
>Josh,
>
>Try using the SetViewPort method to set the ViewPortTop property dynamically in the GotFocus of the controls. SetViewPort takes two arguments, the first is the left setting of the view port and the seond is the top. SetViewPort is the only way you can change ViewPortTop or ViewPortLeft.