带有列表框的删除按钮出错

时间:2014-07-24 12:02:37

标签: vb.net

目前我使用的代码启用我从列表框中删除selected item ,但是当点击删除按钮时没有任何内容从列表中选择程序冻结,我得到error: InvalidArgument=Value of '-1' is not valid for 'index'

我是否可以在没有选择列表中的任何内容的情况下单击删除按钮时程序没有任何反应?

Private Sub Delbtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Delbtn.Click

    lstCountries.Items.RemoveAt(lstCountries.SelectedIndex)

End Sub

1 个答案:

答案 0 :(得分:1)

不确定。只需检查所选索引是否为-1,然后再调用RemoveAt

if (lstCountries.SelectedIndex != -1)
    lstCountries.Items.RemoveAt(lstCountries.SelectedIndex);

或者在VB.net中:

If lstCountries.SelectedIndex <> -1 Then
    lstCountries.Items.RemoveAt(lstCountries.SelectedIndex)
End If

但更好的解决方案是根据选择的项目启用/禁用删除按钮(例如,使用事件处理程序SelectedIndexChanged)。