public void Dispose()
{
if (current != null && current.Control != null && current.Control is IDeactivate)
{
((IDeactivate)(current.Control)).Deactivate();
}
foreach (var item in screens)
{
try
{
Console.WriteLine("MainSwitcher dispose " + item.Name);
if (item != null && item.Control != null)
{
item.Control.Close();
item.Control.Dispose();
}
}
catch { }
}
MainControl.Dispose();
GC.SuppressFinalize(this);
}
}