public static void colorComboSelectedIndexChanged(object sender, ref int LastColorIndex, ChangeCommitted changed) { ComboBox cbox = (ComboBox)sender; if (cbox.SelectedIndex == cbox.Items.Count - 1) { try { int selIndex; using (ColorDialog dlgSelectColor = new ColorDialog()) { dlgSelectColor.Color = DrawUtils.ColorFromIndex(LastColorIndex); selIndex = LastColorIndex; if (dlgSelectColor.ShowDialog() == DialogResult.OK) { Color selColor = dlgSelectColor.Color; if (!DrawUtils.FindColor(selColor)) { DrawUtils.AddCustomColor(selColor); dlgSelectColor.CustomColors = DrawUtils.GetCustomColors(); cbox.Items.Insert(cbox.Items.Count - 1, "Мой цвет"); cbox.SelectedIndex = cbox.Items.Count - 2; } else { cbox.SelectedIndex = DrawUtils.ColorToIndex(selColor); } if (changed != null) { changed(sender, new EventArgs()); } } else { cbox.SelectedIndex = selIndex; } } } catch { } } else { LastColorIndex = cbox.SelectedIndex; cbox.Refresh(); } }
private void versionControl_CommitCheckin(object sender, CommitCheckinEventArgs e) { ChangeCommitted?.Invoke(this, e); }