I have a WinForm C# program.cs file. It either (a) runs a setup Form1 or (b) loads a setup file. Form1 constructs a default setup file that can be customized and saved as a serialized text setup file. Form1 has a menu item RUN. When that is clicked, Form1 hides itself and runs/shows Form2. When Form2 is exited, it closes itself and shows Form1. All this seems to work fine.
But my problem is that in situation "b", the program file receives the pathname of a setup file to load. After that I want to go immediately to Form2 .. without ever showing Form1. I don't even want Form1 to flicker on, then hide, which is the result of various Web queries/suggestions I found about this or very similar problems.
I try to set a flag in program.cs so that when Form1 runs, it jumps right to the RUN event handler and shows Form2. But Form1 doesn't hide. What happens now is that the program file calls a routine that loads the setup, then Form1 runs, is visible, and displays that setup and then my Form2 runs as well using the loaded setup and both are visible. Form1.Hide() calls seem ignored. Perhaps I should just try running Form2 from program.cs in this case (but it has to return to a Form1 eventually). Thank so for any suggestions of links to clues here.