public HaShell(MainForm mainForm, ConsoleControl.ConsoleControl console) { this.console = console; this.mainForm = mainForm; this.console.OnConsoleInput += Console_OnConsoleInput; console.ClearOutput(); console.IsInputEnabled = true; if (console.IsHandleCreated) { Console_HandleCreated(null, null); } else { console.HandleCreated += Console_HandleCreated; } ThreadSafeLogger = delegate(string x) { if (console.InvokeRequired) { console.BeginInvoke((Action) delegate { ConsoleWriteLine(x); }); } else { ConsoleWriteLine(x); } }; }