public Form1()
        {
            InitializeComponent();

            ConsoleRedirector.attach(null, false);
            Console.WriteLine("Still goes to the console");
            ConsoleRedirector.detatch();
            Console.WriteLine("So does this");
            ConsoleRedirector.attach(null, true);
            Console.WriteLine("But not this");
            ConsoleRedirector.detatch();
        }
 public static void detatch()
 {
     _instance.Dispose();
     _instance = null;
 }
 public static void attach(ProgressChangedEventHandler handler, bool forceConsoleRedirection)
 {
     Debug.Assert(null == _instance);
     _instance = new ConsoleRedirector(handler, forceConsoleRedirection);
 }
 private void btnAttach_Click(object sender, EventArgs e)
 {
     ConsoleRedirector.attach(WriteStdOutputToTextBox, true);
 }
 private void btnDetach_Click(object sender, EventArgs e)
 {
     ConsoleRedirector.detatch();
 }