private void LinkLabelAddNewLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { ComponentCompliancePerformanceControl performance = new ComponentCompliancePerformanceControl(new ComponentDirective(_currentComponent)); addedPerformances.Add(performance); flowLayoutPanelPerformances.Controls.Remove(linkLabelAddNew); flowLayoutPanelPerformances.Controls.Add(performance); flowLayoutPanelPerformances.Controls.Add(linkLabelAddNew); }
private void CompliancePerformanceControlDeleted(object sender, EventArgs e) { ComponentCompliancePerformanceControl control = (ComponentCompliancePerformanceControl)sender; ComponentDirective directive = control.ComponentDirective; existPerformances.Remove(control); flowLayoutPanelPerformances.Controls.Remove(control); try { // ((Detail)currentDetail).DetailDirectives.Remove(directive); GlobalObjects.ComponentCore.DeleteComponentDirective(directive); if (DirectiveRemoved != null) { DirectiveRemoved(this, new EventArgs()); } } catch (Exception ex) { Program.Provider.Logger.Log("Error while removing data", ex); } }
/// <summary> /// Обновляет данные /// </summary> public void UpdateInformation() { flowLayoutPanelPerformances.Controls.Clear(); existPerformances.Clear(); addedPerformances.Clear(); List <ComponentDirective> detailDirectives = _currentComponent != null ? new List <ComponentDirective>(_currentComponent.ComponentDirectives.ToArray()) : new List <ComponentDirective>(); _componentLifeLimit = new ComponentComplianceLifeLimitControl(_currentComponent); foreach (Control c in flowLayoutPanelPerformances.Controls) { if (c is ComponentCompliancePerformanceControl) { ((ComponentCompliancePerformanceControl)c).Deleted -= CompliancePerformanceControlDeleted; } } flowLayoutPanelPerformances.Controls.Add(_componentLifeLimit); foreach (ComponentDirective t in detailDirectives) { //TODO:(Evgenii Babak) пересмотреть подход, мы не должны каждый раз создавать новые контролы (при обновлении DetailScreenNew) ComponentCompliancePerformanceControl compliancePerformanceControl = new ComponentCompliancePerformanceControl(t); if (detailDirectives.Count == 1) { compliancePerformanceControl.EnableExtendedControl = false; } compliancePerformanceControl.Deleted += CompliancePerformanceControlDeleted; existPerformances.Add(compliancePerformanceControl); flowLayoutPanelPerformances.Controls.Add(compliancePerformanceControl); } if (_currentComponent != null) { flowLayoutPanelPerformances.Controls.Add(linkLabelAddNew); } }