IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Limiter le nombre d'items selectionnés dans une checkedlistbox en vb.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de sihammaster
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 256
    Par défaut Limiter le nombre d'items selectionnés dans une checkedlistbox en vb.net
    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

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    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

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/09/2019, 22h36
  2. Comptage du nombre d'item selectionnée dans une grid
    Par mattmax dans le forum Débuter
    Réponses: 2
    Dernier message: 07/06/2010, 11h34
  3. Affichage de l'id d'un item selectionné dans une combobox
    Par Quorthon dans le forum Windows Forms
    Réponses: 7
    Dernier message: 28/01/2007, 18h45
  4. VB.NET Récuperer item selectionné dans une listview
    Par thechris33 dans le forum VB.NET
    Réponses: 3
    Dernier message: 09/01/2007, 13h09
  5. Réponses: 3
    Dernier message: 17/05/2006, 16h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo