[英]Removing the selected Item from the list
基本上,这是一个联系人列表,从列表框中选择联系人,然后单击“删除”按钮,将其从列表中删除。
private void btnRmv_Click(object sender, EventArgs e)
{
try{
listBox.Items.Remove(listBox.SelectedItems[0]);
people.RemoveAt(listBox.SelectedIndex);
}
catch { }
}
这段代码似乎从列表框中删除了联系人,但是如果我保存程序并再次打开它,则联系人又回到了那里。 我将所有联系人保存在Xml文件中。 该程序在退出时自动保存,并且具有手动保存按钮。
谢谢
尝试先从“人员”中删除,然后从列表框中删除它,否则将所选索引作为参数。 示例代码粘贴在下面
try
{
int _SeletedIndex = listBox.SelectedIndex();
listBox.Items.Remove(listBox.SelectedItems[0]);
people.RemoveAt(_SeletedIndex);
}
catch { }
您没有显示代码的保存位置,但我想缺少一个联系人-可能是您要删除的联系人下面的那个联系人?
由于使用的是SelectedIndex
之后从列表框中删除该项目,因此必须选择其他一些项目。
尝试颠倒顺序:
private void btnRmv_Click(object sender, EventArgs e)
{
try
{
people.RemoveAt(listBox.SelectedIndex);
listBox.Items.Remove(listBox.SelectedItems[0]);
}
catch { }
}
首先要删除selected item
,所以丢失选定的索引,并且列表people
没有任何项目被删除。
让我们重新排列行:
people.RemoveAt(listBox.SelectedIndex);
listBox.Items.Remove(listBox.SelectedItems[0]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.