Bonjour,

Je voudrai pouvoir changer l'ordre de mes checkbox dans ma CheckedListBox via l'index ou alors grâce à Remove/Insert. Je sais pas comment jouer sur l'index, sinon la solution de Remove/Insert me pose des problemes au niveau de la selection, sa me produit des erreur du type La référence d'objet n'est pas définie à une instance d'un objet.

Voila mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    Private Sub CheckedListBox1_SelectedIndexChanged_1(sender As System.Object, e As System.EventArgs) Handles CheckedListBox1.SelectedIndexChanged
        If CheckedListBox1.Items.IndexOf(CheckedListBox1.SelectedItem.ToString()).ToString() = "0" Then
            btnMoveUp.Enabled = False
            btnMoveDown.Enabled = True
        ElseIf CheckedListBox1.Items.IndexOf(CheckedListBox1.SelectedItem.ToString()).ToString() = CStr(CheckedListBox1.Items.Count - 1) Then
            btnMoveUp.Enabled = True
            btnMoveDown.Enabled = False
        Else
            btnMoveUp.Enabled = True
            btnMoveDown.Enabled = True
        End If
    End Sub
 
    Private Sub btnMoveDown_Click(sender As System.Object, e As System.EventArgs) Handles btnMoveDown.Click
        Dim Swap As Object = CheckedListBox1.SelectedItem
        btnApply.Enabled = True
        CheckedListBox1.Items.Remove(Swap)
        CheckedListBox1.Items.Insert(CInt(CheckedListBox1.Items.IndexOf(CheckedListBox1.SelectedItem.ToString()).ToString()) + 1, Swap)
    End Sub
Merci d'avance pour vos suggestions !!