hi all,
I have a piece of code, I can delete the first value but fails and give notice
InvalidArgument=Value of '0' is not valid for 'index'.
Parameter name: index

Private Sub ComboBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
     If ComboBox1.Items.Count > 0 Then
         If e.KeyCode = Keys.Delete Then
             ComboBox1.Items.Remove(ComboBox1.SelectedItem)
             'or
             'ComboBox1.Items.RemoveAt(ComboBox1.SelectedIndex)
         End If
     End If
 End Sub

thank help !

Recommended Answers

All 3 Replies

this one works and wont give any error if the item is not selected

ComboBox1.Items.Remove(ComboBox1.SelectedItem)

but this one will give you "InvalidArgument=Value of '-1' (not 0) is not valid for 'index'" if the item is not selected

ComboBox1.Items.RemoveAt(ComboBox1.SelectedIndex)

I declare If ComboBox1.SelectedIndex > 0 Then
Can not delete the first value

a zero index actually can contain an item you should change your code to this
If ComboBox1.SelectedIndex > -1 Then

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.