Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Visual Basic - Checkbox Auswahl begrenzen und restliche unchecked boxen deaktivieren

Frage Entwicklung Visual Studio

Mitglied: Kurdirektor

Kurdirektor (Level 1) - Jetzt verbinden

06.11.2014, aktualisiert 13:25 Uhr, 1278 Aufrufe, 2 Kommentare

Hallo,

ich habe in meinem Programm Checkbox1 bis Checkbox63. Diese sind unterteilt in 3 Bereiche - Jeweils 21 Boxen in einer Gruppe (händisch gruppiert ohne Groupbox!)
Eine Gruppierung durch eine Groupbox ist nicht möglich, da die Checkboxen in eine Picturebox eingearbeitet sind. (Oder ist es doch noch möglich ohne die Grafik in dem Bereich zu beinflussen?)

In jeder Gruppe wird bereits erfasst wie viele Boxen angeklickt wurden.

Jetzt möchte ich aber die Auswahl an Checkboxen auf einen Maximalwert begrenzen und bei erreichen des Maximalwerts sollen alle Checkboxen die den Status "unchecked" haben deaktiviert bzw. für den Benutzer nicht mehr anwählbar sein.
Dafür müsste ich ja dann erst einmal prüfen welche Checkboxen aktiv und welche inaktiv sind.
Googel hat mir da bisher nicht wirklich weiterhelfen können.

Ich bräuchte jetzt Hilfe den Code dafür zu erstellen.

Wäre dies hier eine Möglichkeit?

if Checkboxgroup1 = 5 and Checkbox1.unchecked then
CheckBox1.CanSelect = False
End If

Oder gibt es eine Einfachere Methode per Array?

Vielen Dank im Voraus!


Mitglied: colinardo
LÖSUNG 06.11.2014, aktualisiert um 13:25 Uhr
Hallo Kurdirektor,
Eine Gruppierung durch eine Groupbox ist nicht möglich, da die Checkboxen in eine Picturebox eingearbeitet sind. (Oder ist es doch noch möglich ohne die Grafik in dem Bereich zu beinflussen?)
erklär mal bitte wie du eine Checkbox in eine PictureBox "eingearbeitet" hast ??? wie soll das bitte gehen ?

Am einfachsten ist es die Controls alle in eine GroupBox zu stecken, ich sehe nicht wo hier dein Problem ist.
Dann lassen sich die Controls über die Controls-Eigenschaft iterieren und jeweils prüfen ob sie deaktiviert werden müssen oder nicht.

Als Alternative kannst du den Checkboxen auch in der Eigenschaft Tag ein Gruppentag zuweisen welches du mit einer Schleife über alle Controls in der Form prüfst und dann jeweils deine Aktion an den Checkboxen vornimmst.

Beispiel mit Tags an den Checkboxen:
01.
 Sub checkGroup1() 
02.
     Dim action As Boolean 
03.
 
04.
     'dein Maximalwert prüfen (die Variable 'counter' enthält deine gezählte Anzahl aktivierten Checkboxen) 
05.
     If counter >= 20 Then 
06.
         action = False 
07.
     Else 
08.
         action = True 
09.
     End If 
10.
 
11.
     For Each c As Control In Me.Controls 
12.
         If TypeOf c Is CheckBox Then 
13.
             'Wenn das Tag der Checkbox 'Group1' lautet 
14.
             If c.Tag = "Group1" Then 
15.
                 Dim cb = CType(c, CheckBox) 
16.
                 If cb.Checked = False Then 
17.
                     cb.Enabled = action 
18.
                 End If 
19.
             End If 
20.
         End If 
21.
     Next 
22.
 End Sub
Falls dir das nicht klar sein sollte, hier eine komplette Demo als Visual Studio 2010 Projekt zum Download.

Grüße Uwe
Bitte warten ..
Mitglied: Kurdirektor
06.11.2014 um 13:25 Uhr
Passt, danke
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Visual Studio
gelöst Pastebin auslesen mit Visual Basic? (2)

Frage von UltraZz zum Thema Visual Studio ...

Basic
gelöst Mit Visual Basic Batch Datei öffnen (26)

Frage von Flodsche zum Thema Basic ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...