Soyez le premier à donner votre avis sur cette source.
Vue 7 941 fois - Téléchargée 409 fois
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
8 juin 2010 à 12:12
J'ai rajouter cette classe dans mon projet , mais je n'arrive pas a l'appliquer a ma checkedlistbox appelée "LB1" pour cocher au maximum 9 cases.
Merci d'essayer de m'aider
8 déc. 2003 à 12:39
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.