C# 停止按钮,导致列表框取消选择
我有一个按钮,当我点击它时,它会从名为C# 停止按钮,导致列表框取消选择,c#,wpf,button,listbox,C#,Wpf,Button,Listbox,我有一个按钮,当我点击它时,它会从名为listBoxNames的ListBox中删除选中的ListItem,并从名为people的列表中删除选中的Person对象 但是,单击“删除”按钮后,会弹出一条错误消息,告诉我索引超出范围。这使我相信,单击按钮后,它已取消选择了ListBox,因此listBoxNames.SelectedIndex返回-1 这是真的吗?还是我犯了什么愚蠢的错误 private void deleteEntryBtn_Click(object sender, RoutedE
listBoxNames
的ListBox
中删除选中的ListItem
,并从名为people
的列表中删除选中的Person
对象
但是,单击“删除”按钮后,会弹出一条错误消息,告诉我索引超出范围。这使我相信,单击按钮后,它已取消选择了ListBox
,因此listBoxNames.SelectedIndex
返回-1
这是真的吗?还是我犯了什么愚蠢的错误
private void deleteEntryBtn_Click(object sender, RoutedEventArgs e)
{
try
{
listBoxNames.Items.Remove(listBoxNames.SelectedItems[0]);
people.RemoveAt(listBoxNames.SelectedIndex);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
您的代码将删除所选项目。
一旦该项不存在,就没有选择 在删除项目之前,您需要检查所选项目。请尝试以下操作:
private void deleteEntryBtn_Click(object sender, RoutedEventArgs e)
{
try
{
people.RemoveAt(listBoxNames.SelectedIndex);
listBoxNames.RemoveAt(listBoxNames.SelectedIndex);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
掌心-颠倒代码的顺序就足够了。