private void OkButtonClick(object sender, EventArgs e) { errorProvider.SetError(titleTextBox, ""); errorProvider.SetError(durationsListBox, ""); if (titleTextBox.Text == "") { errorProvider.SetError(titleTextBox, "Введите наименование"); return; } var sum = GetTotalDuration(); if(sum == 0) { errorProvider.SetError(durationsListBox, "Введите длительности"); return; } if(24 * 60 % sum != 0) { var durations = new List<string>(); var n = 1; while(true) { var x = 24 * 60 / n - sum; if (x > 0 && x < 60 && durations.Count == 0) { durations.Add(String.Format("0:{0:D2}", x)); break; } if(x < 60) break; durations.Add(String.Format("{0}:{1:D2}", x / 60, x % 60)); n++; } var text = Localizer.GetString("MessageIntervalLackedInChronometer"); if(durations.Count == 0) MessageBox.Show(this, text, Localizer.GetString("TitleWarning"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); else { var form = new ListSelectDialog(); form.Initialize(durations.Select(o => o as object), text + ".\n\n" + Localizer.GetString("MessageChronometerChoseLength") + ":"); if (form.ShowDialog(this) == DialogResult.Cancel) return; durationsListBox.Items.Add(form.SelectedItem); UpdateDurations(); } } DialogResult = DialogResult.OK; }
private void MenuItemAddButtonClick(object sender, EventArgs e) { var dialog = new ListSelectDialog(); dialog.Initialize(ChartToolButtonStorage.Instance.allButtons.Where(b => b.ButtonType == buttonType)); if (dialog.ShowDialog() != DialogResult.OK) return; var button = dialog.SelectedItem as ChartToolButtonSettings; if (button == null) return; var item = new TreeNode(button.ToString(), button.Image, button.Image); treeButtons.Nodes.Add(item); item.Tag = new ChartToolButtonSettings(button); }