The thing here noob is, its all as one project so without hooking (controlling windows messages) its all one big project with different windows so it will bring all forms to the front. Only way is to set form1 topmost but then that form will ALWAYS be in front unless told to not be topmost. I'm sure hooking would work in this case but it requires you to catch the right message wm_(message).

But hooking can lead to vb crash or even windows crash, if not unhooked or controlled properly.