private void ObserverForm_FormClosed(object sender, FormClosedEventArgs e) { m_mainForm.SimulationHandler.StateChanged -= SimulationHandler_StateChanged; m_mainForm.SimulationHandler.ProgressChanged -= SimulationHandler_ProgressChanged; Observer.Dispose(); if (m_mainForm.ConsoleView != null) { m_mainForm.ConsoleView.Focus(); } else { m_mainForm.Focus(); // to have some valid focus - prevents "minimization" on close } m_mainForm.RemoveObserverView(this); }