using System; using System.Threading; using System.Reflection; using System.Windows.Forms; public class HelloWorldForm : Form { public HelloWorldForm() { } public static void OnApplicationExit(object sender, EventArgs e) { try { Console.WriteLine("shutting down."); } catch (NotSupportedException) { } } public static void OnIdle(object sender, EventArgs e) { Console.WriteLine("idle."); } public static void OnThreadException(object sender, ThreadExceptionEventArgs e) { Console.WriteLine("caught!"); } public static void OnThreadExit(object sender, EventArgs e) { Console.WriteLine("thread is shutting down."); } public static void Main() { HelloWorldForm FormObject = new HelloWorldForm(); Application.ApplicationExit += new EventHandler(OnApplicationExit); Application.Idle += new EventHandler(OnIdle); Application.ThreadException += new ThreadExceptionEventHandler(OnThreadException); Application.ThreadExit += new EventHandler(OnThreadExit); Application.Run(FormObject); } }