The "startup form" is created by a line in program.cs:
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());
}
}
So it wouldn't be difficult to just change the Form there and Run the app - that could be on a command line switch, or whatever.
The other approach is to actually change which controls you create / execute which is technically possible - they are built in your Form.designer.cs file so it wouldn't be difficult to get that to select "set A" or "set B" - but that's actually a PITA because it would make future development of the two "forms" seriously complicated.
The way I'd do it is simpler: convert each Form into a UserControl and select which control you want to display at run time, making it fill the form area.