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); } }
private void VMConsoleConnectCheckBox_CheckedChanged(object sender, EventArgs e) { bool @checked = _vmConsoleConnectCheckBox.Checked; _vmIdLabel.Visible = @checked; _vmIdTextBox.Visible = @checked; _vmIdTextBox.Enabled = @checked; EnableTabsEventArgs enableTabsEventArgs = new EnableTabsEventArgs(); enableTabsEventArgs.Enabled = !@checked; enableTabsEventArgs.Reason = "for virtual machine console connect"; enableTabsEventArgs.TabNames = new string[4] { "Local Resources", "Remote Desktop Settings", "Security Settings", "Connection Settings" }; EnableTabsEventArgs args = enableTabsEventArgs; NodePropertiesDialog nodePropertiesDialog = FindForm() as NodePropertiesDialog; nodePropertiesDialog.EnableTabs(args); }