public void EnableTabs(EnableTabsEventArgs args) { foreach (string name in args.TabNames) { IEnumerable <TabPage> tabPages = TabPages; Func <TabPage, bool> predicate = (TabPage p) => p.Text.Equals(name); ISettingsTabPage settingsTabPage = tabPages.Where(predicate).First() as ISettingsTabPage; settingsTabPage.InheritanceControl.Enable(args.Enabled, args.Reason); } }
protected override void AcceptIfValid(object sender, EventArgs e) { TabPage tabPage = null; foreach (TabPage tabPage2 in TabPages) { ISettingsTabPage settingsTabPage = tabPage2 as ISettingsTabPage; if (settingsTabPage != null && !settingsTabPage.Validate() && (tabPage == null || tabPage2 == _tabControl.SelectedTab)) { tabPage = tabPage2; } } if (tabPage == null) { base.AcceptIfValid(sender, e); } else { _tabControl.SelectedTab = tabPage; } }
protected override void ShownCallback(object sender, EventArgs args) { foreach (TabPage tabPage in TabPages) { tabPage.Enabled = _acceptButton.Enabled; ISettingsTabPage settingsTabPage = tabPage as ISettingsTabPage; if (settingsTabPage != null) { settingsTabPage.UpdateControls(); if (settingsTabPage.FocusControl != null) { _tabControl.SelectedTab = tabPage; settingsTabPage.FocusControl.Focus(); } } } if (_initiallyActiveTab != null) { _tabControl.SelectedTab = _initiallyActiveTab; } }