The code is correct. You don't have any error handling here so if an error is occurring you won't know it. Have you tried stepping through the code with the debugger? If your form class has code inside of New() or code inside one of the events that fire when the form is displayed (ie, Load, Activate, etc.) then an error could be thrown there. If so, that would prevent the form from being shown because the code would stop executing before the call to Show(). The problem is most likely in your form class, not the code you posted here.