Hi,

I have a form with a button which is disabled by default, and a CheckedListBox with 68 items in it. What is the simplest way of enabling the button, when an item in the CheckedListBox is selected or unselected?

I’m looking for something like

If CheckedListBox1…any of the items state changes…Then
Button1.Enabled = True
End If

Thanks

Try this

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    For i As Integer = 1 To 5
        CheckedListBox1.Items.Add(i)
    Next

    CheckedListBox1.CheckOnClick = True 'Checked item when you select it
End Sub

Private Sub CheckedListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckedListBox1.SelectedIndexChanged
    If CheckedListBox1.SelectedItem.ToString = "1" Then
        Button1.Enabled = True
    End If   
End Sub

Edited 4 Years Ago by Jx_Man: n/a

Thanks for your reply.

This is only working for items 1 to 5, but I don’t want them because like I said, I already have my own 68 items in the CheckedListBox which I added through the designer. Also CheckOnClick was not necessary because I already have that as “True” from the properties in designer. So this is only working for items 1 to 5 and not for my own 68 items.

Also CheckOnClick was not necessary because I already have that as “True” from the properties in designer.

Okay. I don't know it if you already set it.

So this is only working for items 1 to 5 and not for my own 68 items.

Yes, This only working for items with value 1 to 5. I just give the example. You modified it as you wish.

So you are saying that here

For i As Integer = 1 To 5

I have to manually specify 68 different names/items?

But I already have them in the designer. Isn't there a way to go through them regardless of their names, and see if their state has changed? Names must be specified in the code?

This question has already been answered. Start a new discussion instead.