基本上它是一个联系人列表,从列表框中选择联系人,然后点击删除按钮,将其从列表中删除。
private void btnRmv_Click(object sender, EventArgs e)
{
try{
listBox.Items.Remove(listBox.SelectedItems[0]);
people.RemoveAt(listBox.SelectedIndex);
}
catch { }
}
此代码似乎从列表框中删除了联系人,但如果我保存我的程序并再次打开它,联系人就会回来。我正在保存Xml文件中的所有联系人。程序会在退出时自动保存,并且有一个手动保存按钮。
由于
答案 0 :(得分:2)
尝试从"人员中删除"首先,然后从列表框中删除它,或者将选定的索引作为参数。示例代码粘贴在
下面 try
{
int _SeletedIndex = listBox.SelectedIndex();
listBox.Items.Remove(listBox.SelectedItems[0]);
people.RemoveAt(_SeletedIndex);
}
catch { }
答案 1 :(得分:1)
您没有显示您的代码要保存的位置,但我想有一个联系人丢失了 - 可能是您要删除的联系人中的一个?
由于您在从列表框中删除项目后使用SelectedIndex
,因此必须选择其他项目。
尝试撤消订单:
private void btnRmv_Click(object sender, EventArgs e)
{
try
{
people.RemoveAt(listBox.SelectedIndex);
listBox.Items.Remove(listBox.SelectedItems[0]);
}
catch { }
}
答案 2 :(得分:1)
您首先删除了selected item
,因此您丢失了所选索引,并且列表people
中没有删除任何项目。
让我们重新排序:
people.RemoveAt(listBox.SelectedIndex);
listBox.Items.Remove(listBox.SelectedItems[0]);