Checkbox Hilfe

gato

Grünschnabel
Hallo

habe ein problem wobei ihr mir hier vieleicht helfen könnt

habe 3 checkboxen und möche wenn beispiel die 1 checkbox geklickt wird
das die checkbox2 und 3 nicht aktiviert sind wenn sie den aktiviert waren meine test´s mit

If Check1(0).Value = 1 Then
Check1(1).Value = 0
Check1(2).Value = 0
End If
If Check1(1).Value = 1 Then
Check1(0).Value = 0
Check1(2).Value = 0
End If
If Check1(2).Value = 1 Then
Check1(0).Value = 0
Check1(1).Value = 0
End If


brachten keine erfolg es geht nur wenn checkbox3 aktiv ist und man auf checkbox 1 klickt

hoffe das einer mir hier aus dem forum helfen kann

danke
 
Re: Checkbox Hielfe

Moin,

versuchs mal so:
Code:
If Check0.Value = 1 Then
Check1.Value = 0
Check2.Value = 0
End If
If Check1.Value = 1 Then
Check0.Value = 0
Check2.Value = 0
End If
If Check2.Value = 1 Then
Check0.Value = 0
Check1.Value = 0
End If
Du hast dich wahrscheinlich mit dem Namen der Checkbox geirrt, die Standardnamen
für die Checkboxen ist Checkn, wobei n die jeweilige Zahl ist, gib die Reihenfolge
der Erstellung der Checkboxen an.
Hey, und arbeite am besten mit True und False, dann kommt es nicht zu
Verwechselungen bei den ganzen 0'en und 1'en!
Eine elegantere Lösung für dein Problem wäre eh, mit Checkn_Onclick() zu arbeiten!
 
Re: Checkbox Hielfe

Oder du verwendest einfach Optionbuttons, die haben diese Funktion bereits integriert. Da kann man immer nur einen Optionbutton aktivieren (bezogen auf alle Optionbuttons die gemeinsam auf einem Frame liegen).

Wenn du trotzdem CheckButtons verwenden möchtest, dann bietet sich an alle CheckButtons in ein Steuerelement-Array zu packen (nach deinem Code hast du das ja bereits gemacht).
Wenn die CheckButtons "Check" heißen, dann könntest du es auch so machen:
Code:
Private Sub Check_Click(Index As Integer)
	Dim intCounter As Integer
	Static blnSubAktiv As Boolean
	
	If Not blnSubAktiv Then
		blnSubAktiv = True
		
		For intCounter = Me.Check.LBound To Me.Check.UBound
			Me.Check(intCounter).Value = IIf(Index = intCounter, vbChecked, vbUnchecked)
		Next
		
		blnSubAktiv = False
	End If
End Sub
Diese Lösung hat den Vorteil, dass du beliebig viele CheckButtons hinzufügen kannst ohne dass du den Code ändern musst. Es kann immer nur eine mit einem Häckchen versehen sein. Probier's einfach mal aus.
 
Zuletzt bearbeitet:
Re: Checkbox Hielfe

hallo

vielen dank für die antworten mit den code von Shakie hat es geklapt danke nochmals

aber jetzt habe ich noch ein anderes problem wieder das gleiche spiel nur diesmal mit 5 checkboxen und jeweils frei an und aus klicken nur wenn die 5 beispiel gecklikt ist dann alle auf aus ich krige das auch hin nur das problem ist ich kann dann nicht mehr die anderen activieren ;(

mein code ist :

Code:
If Check1(4).Value = 1 Then
   Check1(3).Value = 0
   Check1(2).Value = 0
   Check1(1).Value = 0
   Check1(0).Value = 0
End If

hoffe das einer mir helfen kann

danke
 
Re: Checkbox Hielfe

@ Shakie


ich habe eine frame mit 5 checkboxen und da möchte ich halt 2 oder 3 an klicken aber wenn ich die 5checkbox klicke möchte ich das die restlichen activierten aus geschaltet werden

meine code ist

Code:
Private Sub Check1_Click(Index As Integer)
If Check1(4).Value = 1 Then
   Check1(3).Value = 0
   Check1(2).Value = 0
   Check1(1).Value = 0
   Check1(0).Value = 0
End If
End Sub

wenn benötigt kann ich auch eine sample von dem frame einfügen wenn das hier möglich ist

danke für eine antwort
 
Re: Checkbox Hielfe

Überleg mal ein bisschen, was dein Code macht!
Er prüft jedesmal wenn auf einer dieser 5 Checkboxen geklickt wurde, ob die 5. CheckBox aktiviert ist. Wenn ja, dann werden die anderen Checkboxen deaktiviert. Sobald du nun also die 5.te Box aktivierst ist diese IF-Bedingung also IMMER erfüllt.
Du musst daher nicht überprüfen, ob die 5. Checkbox aktiviert ist, sondern ob der Zustand der 5. CheckBox geändert worden ist. Dafür gibt es ja die Index-Variable! Die sagt dir, auf welche Checkbox gerade geklickt worden ist.
 
Re: Checkbox Hielfe

hallo noch mal

ich blicke da irgentwie nicht durch kannst du mir mal bitte eine kleines sample geben
wie das mit dem index geht btw wie ich erkenne wenn die check1(4) gedrückt wird ?

danke
 
Re: Checkbox Hielfe

Das ist doch wohl nich so schwer zu verstehen:
Code:
If Index=4 then ---> check1(4) gedrückt!
 
Zurück