private void lstPhones_EditClick(object sender, EventArgs e) { var item = lstPhones.SelectedItems.Cast <PhoneNumber>().FirstOrDefault(); if (item != null) { var copy = item.Duplicate(); using (var dlg = new EditPhoneNumberDialog(copy)) { dlg.Text = "Edit Phone Number"; if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { var index = phones.IndexOf(item); phones[index] = copy; phones.ResetItem(index); } } } }
private void lstPhones_AddClick(object sender, EventArgs e) { var number = new PhoneNumber { AreaCode = 123, HasExtension = false, Line = 7890, Prefix = 456, Type = PhoneNumberType.Other, }; using (var dlg = new EditPhoneNumberDialog(number)) { dlg.Text = "Add Phone Number"; if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { phones.Add(number); } } }