using System; using System.Collections.Generic; using System.Threading; using System.Windows.Forms; namespace FemboyWatchdog { public class MultiFormContext : ApplicationContext { private int openForms; public MultiFormContext(params Form[] forms) { openForms = forms.Length; foreach (var form in forms) { form.FormClosed += (s, args) => { //When we have closed the last of the "starting" forms, //end the program. if (Interlocked.Decrement(ref openForms) == 0) ExitThread(); }; form.Show(); } } } static class Program { /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MultiFormContext(new Monitor(), new Toolbar())); } } }