private void ConditionControlDeleted(object sender, EventArgs e) { JobCardTaskControl control = (JobCardTaskControl)sender; JobCardTask cond = control.JobCardTask; if (cond.ItemId > 0 && MessageBox.Show("Do you really want to delete Job Card Task?", "Deleting confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { //если информация о состоянии сохранена в БД //и получен положительный ответ на ее удаление try { GlobalObjects.CasEnvironment.NewKeeper.Delete(cond); } catch (Exception ex) { Program.Provider.Logger.Log("Error while removing data", ex); } flowLayoutPanelMain.Controls.Remove(control); control.Deleted -= ConditionControlDeleted; control.Dispose(); } else if (cond.ItemId <= 0) { flowLayoutPanelMain.Controls.Remove(control); control.Deleted -= ConditionControlDeleted; control.Dispose(); } }
private void LinkLabelAddNewLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { JobCardTaskControl performance = new JobCardTaskControl(new JobCardTask { ParentTask = JobCardTask, JobCard = JobCardTask.JobCard }); performance.Deleted += ConditionControlDeleted; //if (flowLayoutPanelMain.Controls.Count > 1) performance.ShowHeaders = false; flowLayoutPanelMain.Controls.Add(performance); performance.Focus(); }
/* * Реализация */ #region private void BuildControls() /// <summary> /// Строит нужные контролы /// </summary> private void BuildControls() { // Освобождаем старые контролы flowLayoutPanelMain.Controls.Clear(); if (JobCard != null && JobCard.JobCardTasks != null) { for (int i = 0; i < JobCard.JobCardTasks.Count; i++) { // Добавляем контрол для ввода данных по маслу JobCardTaskControl c = new JobCardTaskControl(JobCard.JobCardTasks[i]) { Dock = DockStyle.Top }; c.Deleted += ConditionControlDeleted; if (JobCard.JobCardTasks.Count <= 1) { c.EnableToDelete = false; } flowLayoutPanelMain.Controls.Add(c); } } }
/* * Реализация */ #region private void BuildControls() /// <summary> /// Строит нужные контролы /// </summary> private void BuildControls() { textBoxJobTaskNumber.Text = JobCardTask.Number; try { richTextBoxDescription.Rtf = JobCardTask.Description; //Size size = TextRenderer.MeasureText(richTextBoxDescription.Text, richTextBoxDescription.Font); ////Graphics graphics = CreateGraphics(); ////SizeF ef = graphics.MeasureString(richTextBoxDescription.Text, richTextBoxDescription.Font); ////graphics.Dispose(); //richTextBoxDescription.Height = (int)size.Height; } catch (Exception) { richTextBoxDescription.Text = JobCardTask.Description; } // Освобождаем старые контролы flowLayoutPanelMain.Controls.Clear(); if (JobCardTask != null && JobCardTask.Tasks != null) { for (int i = 0; i < JobCardTask.Tasks.Count; i++) { // Добавляем контрол для ввода данных по маслу JobCardTaskControl c = new JobCardTaskControl(JobCardTask.Tasks[i]); c.Deleted += ConditionControlDeleted; //if (i > 0) // c.ShowHeaders = false; flowLayoutPanelMain.Controls.Add(c); } } }
private void LinkLabelAddNewLinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { JobCardTaskControl performance = new JobCardTaskControl(new JobCardTask { JobCard = JobCard }); performance.Deleted += ConditionControlDeleted; List <JobCardTaskControl> fcs = flowLayoutPanelMain.Controls.OfType <JobCardTaskControl>().ToList(); if (fcs.Count > 1) { foreach (JobCardTaskControl fc in fcs) { fc.EnableToDelete = true; } } performance.Dock = DockStyle.Top; flowLayoutPanelMain.Controls.Add(performance); performance.Focus(); }