void addAddressBook(Types.AddressBook input) { String label = input.label; DataGridViewRow row = new DataGridViewRow(); try { row = dtgAddressBook.Rows .Cast <DataGridViewRow>() .Where(r => r.Cells[0].Value.ToString().Equals(label)) .First(); MessageBox.Show("Duplicated label"); } catch { try { book.Add(new Types.AddressBook(label, input.address)); saveAddressBook(book); book.Sort(delegate(Types.AddressBook x, Types.AddressBook y) { return(x.label.CompareTo(y.label)); }); dtgAddressBook.Invoke(new Action(() => { dtgAddressBook.AutoGenerateColumns = true; dtgAddressBook.DataSource = new BindingList <Types.AddressBook>(book); })); } catch //(Exception ex1) { //if (shouldRestart) //{ // return; //} //addTextToRtb(rtbError, "Exception: " + ex.Message + "\n"); } } }