Bonjour,
J'aimerai savoir comment limiter le nombre des items cochés dans CHECKEDLISTBOX ;
Je voudrais quand je coche un items, l'item précédent (coché) sera décoché, pour avoir la possiblité de cocher un et un seul element.
Merci d'avance
Bonjour,
J'aimerai savoir comment limiter le nombre des items cochés dans CHECKEDLISTBOX ;
Je voudrais quand je coche un items, l'item précédent (coché) sera décoché, pour avoir la possiblité de cocher un et un seul element.
Merci d'avance
En rajoutant cette classe dans ton projet :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 Imports System Imports System.Windows Imports System.Windows.Forms '----------------------------------------------------------------- ' Classe : myCheckedListBox ' derrivée de CheckedListBox ' ' Cette classe permet de limiter le nombre d'items selectionnés ' dans la liste. ' ' Evenement Depassement : Boolean ' ' Philippe Casasnovas ' Décembre 2003 '----------------------------------------------------------------- Public Class myCheckedListBox Inherits CheckedListBox Private _MaxSelectedItem As Integer ' Nombre maximum d'items selectionnables Public Event Depassement(ByVal Resultat As Boolean) ' Evènement pour voir si l'utilisateur a depassé la selection maximum ' Nombre maximum d'items selectionnables Public Property MaxSelectedItem() As Integer Get Return _MaxSelectedItem End Get Set(ByVal Value As Integer) _MaxSelectedItem = Value End Set End Property ' Constructeur Public Sub New() MyBase.New() MaxSelectedItem = 5 ' Nombre d'items selectionnables par défaut End Sub ' Verrifie le nombre d'items selectionnés ' Si le nombre est superieur, met la selection de la ligne à false. ' Déclenche ensuite l'évènement Depassement Private Sub Verrification() Dim Item As Integer Dim Count As Integer For Each Item In Me.Items If Me.GetItemCheckState(Item) = CheckState.Checked Then Count = Count + 1 End If Next If Count > _MaxSelectedItem Then Me.SetItemChecked(SelectedIndex, False) RaiseEvent Depassement(True) Else RaiseEvent Depassement(False) End If End Sub ' On test au changement d'index selectionné Private Sub myCheckListBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SelectedIndexChanged Verrification() End Sub ' On test au mousedown de la souris Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs) Verrification() End Sub ' On test au keypress en cas de selection par la barre d'espace Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs) MyBase.OnKeyPress(e) Verrification() End Sub Protected Overrides Sub RefreshItem(ByVal index As Integer) End Sub Protected Overrides Sub SetItemsCore(ByVal items As System.Collections.IList) End Sub End Class
Geeker c'est comme manger, on ne peut pas s'en passer !!!
Tout est objet !!!
____________________________________
http://www.geekingmania.com
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager