Bonjour,

Je sollicite votre aide car je ne parviens pas à arriver à mes fins avec mon ListView.
Dans l'état j'ai un ListView avec un nombre n d'items, et les checkboxes en regard de chacun.

Ce que je souhaiterai, c'est que l'on ne puisse cocher qu'un item, et ne pas pouvoir décocher celui qui est actuellement actif (pour ne pas se retrouver sans item coché du tout).

J'arrive à gérer le fait qu'il n'y ait qu'un seul item coché avec ce code dans l'Event ItemCheck :

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
20
 
 Dim LastCheckedItem As ListViewItem
 
    Private Sub LstContrats_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles LstContrats.ItemCheck
 
        For i = 0 To LstContrats.Items.Count - 1
            If LstContrats.Items(i).Checked = True Then
                LastCheckedItem = LstContrats.Items(i)
            End If
        Next
 
        If LastCheckedItem.Index <> e.Index Then
            LastCheckedItem.Checked = False
        Else
 
        End If
 
        LastCheckedItem = LstContrats.Items(e.Index)
 
    End Sub
La variable LastCheckedItem étant affectée lors du remplissage initial de la ListView.

Il ne me manquerait plus qu'à faire pour que lorsque l'utilisateur cliquerait sur la checkbox de l'item qui est déjà coché, celle-ci ne réagisse pas, afin que je ne puisse pas me retrouver avec zéro item coché (ce qui est possible actuellement et qui m'ennuie).

Merci d'avance aux personnes qui pourront m'aider !

Bonne journée.

Cordialement-