vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Controls · ListBox & ComboBox   |   VB-Versionen: VB2005, VB200806.07.09
Erweiterung: CheckedListBox - alle Einträge auswählen / Auswahl umkehren

3 Erweiterungs-Funktionen, um den Status der Einträge einer CheckedListBox zu ändern.

Autor:   Lars WitterBewertung:  Views:  18.326 
www.allocko.deSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Angeregt durch den Codeschnipsel  CheckedListBox - alle Einträge auswählen / Auswahl umkehren und meinen bisherigen Copy & Paste von einem Projekt ins nächste, habe ich folgende 3 Methoden (neben vielen anderen) in eine DLL ausgelagert.

Vielleicht nützt sie ja dem einen oder anderen.

Die Benutzung der Methoden sind in den jeweiligen Kommentaren im Example-Tag erklärt.

''' <summary>
''' Alle Items einer CheckedListbox auf chkState setzen
''' <example>CheckListBoxSetCheckAll (me.CheckedListbox1, CheckState.Checked)</example>
''' oder
''' <example>CheckListBoxSetCheckAll (me.CheckedListbox1, CheckState.UnChecked)</example>
''' oder
''' <example>CheckListBoxSetCheckAll (me.CheckedListbox1, CheckState.Intermediate)</example>
''' </summary>
''' <param name="chkBox">System.Windows.Forms.CheckedListBox</param>
''' <param name="chkState">System.Windows.Forms.CheckState</param>
''' <remarks>
''' 02.07.2009 Lars Witter: Erstellt
''' 02.07.2009 Lars Witter: Erweitert als allgemein gültige Funktion 
''' von http://www.vbarchiv.net/tipps/details.php?id=2031
''' </remarks>
Public Shared Sub CheckListBoxSetCheckAll(ByRef chkBox As CheckedListBox, _
  ByVal chkState As CheckState)
 
  With chkBox
    .BeginUpdate()
    For i As Integer = 0 To .Items.Count - 1
      .SetItemCheckState(i, chkState)
    Next 
    .EndUpdate()
  End With
End Sub
''' <summary>
''' Alle Items einer CheckedListbox mit angegebenem Checkstate auf neuen CheckState setzen
''' <example>CheckListBoxSetCheckFilter (me.CheckedListbox1, CheckState.Checked, 
''' CheckState.UnChecked)</example>
''' oder
''' <example>CheckListBoxSetCheckFilter (me.CheckedListbox1, CheckState.UnChecked, 
''' CheckState.Intermediate)</example>
''' oder
''' <example>CheckListBoxSetCheckFilter (me.CheckedListbox1, CheckState.Intermediate, 
''' CheckState.Checked)</example>
''' </summary>
''' <param name="chkBox">System.Windows.Forms.CheckedListBox</param>
''' <param name="OldChkState">System.Windows.Forms.CheckState - CheckState nach dem gesucht wird</param>
''' <param name="NewChkState">System.Windows.Forms.CheckState - der neu zu setzende CheckState</param>
''' <remarks>
''' 02.07.2009 Lars Witter: Erstellt
''' 02.07.2009 Lars Witter: Erweitert als allgemein gültige Funktion 
''' von http://www.vbarchiv.net/tipps/details.php?id=2031
''' </remarks>
Public Shared Sub CheckListBoxSetCheckFilter(ByRef chkBox As CheckedListBox, _
  ByVal OldChkState As CheckState, ByVal NewChkState As CheckState)
 
  With chkBox
    .BeginUpdate()
    For i As Integer = 0 To .Items.Count - 1
      If .GetItemCheckState(i) = OldChkState Then
        .SetItemCheckState(i, NewChkState)
      End If
    Next 
    .EndUpdate()
  End With
End Sub
''' <summary>
''' Alle (Checked)-Items.CheckState einer CheckedListbox Invertieren zu UnChecked
''' <example>CheckListBoxSetCheckInvert (me.CheckedListbox1)</example>
''' </summary>
''' <param name="chkBox">System.Windows.Forms.CheckedListBox</param>
''' <remarks>
''' 02.07.2009 Lars Witter: Erstellt
''' 02.07.2009 Lars Witter: Erweitert als allgemein gültige Funktion 
''' von http://www.vbarchiv.net/tipps/details.php?id=2031
''' </remarks>
Public Shared Sub CheckListBoxSetCheckInvert(ByRef chkBox As CheckedListBox)
  With chkBox
    .BeginUpdate()
    For i As Integer = 0 To .Items.Count - 1
      If .GetItemCheckState(i) = CheckState.Checked Then
        .SetItemCheckState(i, CheckState.Unchecked)
      Else
        .SetItemCheckState(i, CheckState.Checked)
      End If
    Next 
    .EndUpdate()
  End With
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.