private void TabControlMain_SelectedIndexChanged(object sender, EventArgs e) { try { TabPage currentTab = tabControlMain.TabPages[tabControlMain.SelectedIndex]; IToolboxControl control = currentTab.Tag as IToolboxControl; if (null != control) { bool firstShow = !_toolBoxControlsFirstShowPassed.Any(c => c == control); control.Activate(firstShow); if (!firstShow) { _toolBoxControlsFirstShowPassed.Add(control); } if (null != _lastSelectedcontrol) { _lastSelectedcontrol.Deactivated(); _lastSelectedcontrol = null; } } } catch (Exception exception) { ErrorForm.ShowError(this, exception, ErrorCategory.NonCritical, CurrentLanguageID); } }