private void EditContactByItem(Contact contact) { if (contact == null) { return; } var copy = contact.Duplicate(); using (var dlg = new EditContactDialog(copy)) { dlg.Text = "Edit Contact"; if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { gridViewContacts.BeginDataUpdate(); var index = contacts.IndexOf(contact); contacts[index] = copy; gridViewContacts.EndDataUpdate(); } } }