You need to use
myForm.Activate()
:
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.activate.aspx[
^].
Some background: focus means nothing but "keyboard focus". There is only one focused window in the whole system at a time. Activation is something different: it is applied only to top-level windows (like forms; they are all top-level by default), shows active window title, etc., but it also effects dispatching of input events to an application.
When a window has a control with keyboard focus, and then deactivated, this control always loose focus. When you activate a form again, the control which had focus last time will get it again.
—SA