目前我使用的代码启用我从列表框中删除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
答案 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
)。