Stvar je sledeća:
Imam listview ispunjen kontaktima koji se čuvaju u XML file-u. Uzmimo za primer da tamo imam 5 ljudi. Ako pokušam da izbrišem svih 5 - nakon ponovnog startovanja programa - svih 5 će ponovo biti tamo, dakle, kao da ih nisam ni brisao. Moguće je od tih 5 obrisati samo 4 (ako ih imam 100, moguće je obrisati 99) - jedan će uvek ostati. Desi se i da nakon brisanja nekog kontakta, kada pokušam sledeći - ne uspevam ni da ga izbrišem, dakle pokušam da ga selektujem i javi se sledeći error:

Ključne stvari ovde su:
private void listView1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (listView1.SelectedItems.Count == 0)
{
toolStripEdit.Enabled = false;
RefreshAll();
return;
}
Person person = new Person();
person = FindPerson(listView1.SelectedItems[0].Text);
txt_Name.Text = person.Name;
txt_City.Text = person.Hometown;
txt_Address.Text = person.Address;
txt_Phone.Text = person.Phone;
txt_Mail.Text = person.Email;
txt_MoreInfo.Text = person.AdditionalInfo;
dateTimePicker1.Value = person.Birthday;
ReadOnlyON();
toolStripEdit.Enabled = true;
ExpandThis();
}
i
void Rmv()
{
if (Properties.Settings.Default.Remove == true)
{
DialogResult dialogResult = MessageBox.Show("Are you sure you want to delete this contact?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dialogResult == DialogResult.Yes)
{
Remove();
if (Properties.Settings.Default.Sync == true) { Sync(); }
}
else if (dialogResult == DialogResult.No)
{
return;
}
}
else
{
Remove();
if (Properties.Settings.Default.Sync == true) { Sync(); }
}
}
void Remove()
{
Person person = new Person();
person = FindPerson(listView1.SelectedItems[0].Text);
if (listView1.SelectedItems.Count > 0)
{
try
{
if (listView1.SelectedItems.Count == 0) return;
people.RemoveAt(listView1.SelectedItems[0].Index);
foreach (ListViewItem eachItem in listView1.SelectedItems)
{
listView1.Items.Remove(eachItem);
}
}
catch { }
ClearAll();
ReadOnlyON();
}
else
{
MessageBox.Show("Nothing is selected!", "Notification", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
ReadOnlyOFF();
UserCount();
if (Properties.Settings.Default.Sync == true) { Sync(); }
}
Znači molim vas, spasavajte, lupam glavu oko ove gluposti koju vučem od samog početka i nikako da rešim.