Closing all windows and returning to main menu

When my program starts it has a main menu.  Depending on the options the user selects there can be up to 4 windows open.  At this point I have a timer which counts down to 0, and when it reaches 0 I want to close all of the windows and return to the main window.  

Is there a command to do this?

Thanks,
Jonathan.
twibblejawayAsked:
Who is Participating?
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
If you are working in C# 2005, then use the Application.OpenForms() collection:
http://msdn2.microsoft.com/en-us/library/system.windows.forms.application.openforms(VS.80).aspx

If you are using an Mdi approach, then use the MdiChildren() collection:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWindowsFormsFormClassMdiChildrenTopic.asp

Otherwise, you need to manually track your open windows as vinhnl suggests.
0
 
vinhnlCommented:
Hi  Twibblejaway,

I think that you should use a arraylist to store windows open.

ArrayList windowsopen = new ArrayList();

When you open a window, before show it, you add it to arraylist.

windowsopen.Add(form);

When you want to close all windows child, you convert each element to Form Object and close it.

for(int i = 0;i < windowsopen.Count;i++)
   ((System.Windows.Forms.Form)windowsopen[i]).Close();

and remove all from windowsopen

windowsopen.Removeall();

Good luck,
VINHNL


0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.