private void frmOptionPicker_FormClosing(object sender, FormClosingEventArgs e) { if (clbItems.CheckedItems.Count >= MinCount) { foreach (var i in Items) { //set initiallly response to no checked items ReturnItems.Add(new Tuple <int, string, bool>(i.Item1, i.Item2, false)); } foreach (var i in clbItems.CheckedItems) { var OldTuple = ReturnItems.Find(t => t.Item2 == (string)i); var tuple = new Tuple <int, string, bool>(OldTuple.Item1, OldTuple.Item2, true); ReturnItems.Remove(OldTuple); ReturnItems.Add(tuple); } this.DialogResult = DialogResult.OK; } else { e.Cancel = true; MessageBox.Show($"Przynajmniej {MinCount} pozycji musi być zaznaczonych..", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }