Hola, me gustaría que me solventaran esta duda...

Estoy creando una aplicación que tiene varios checkbox y un label, al checar un checkbox, apunta su caption en un label, al presionar otro debería hacer lo mismo.

Quiero que justo cuando se presiona uno, salga en el label, y al presionar otro, salga también pero sin borrar el anterior. Y viceversa, si desmarco el check, se borre del label.

yo tenía algo como

label1.caption= label1.caption & check1.caption

asi en cada check

pero claro, al dar a otro check, se repite...

No sé si me expliqué bien, sino es así. os lo aclaro

Desde ya, gracias
"Apunta su caption" a que te refieres?
Vos queres hacer que cuando Presiones en un chek diga en el label 1 "Check 1 apretado"
Si apretas el Chek 2 , diga " Chek 1 apretado , Chek 2 apretado"
o algo asi no te entiendo
No me conoces pero , Yo no soy de esos.
No creo que se pueda en un solo label man, prueva poner varios labels juntos y que digan cada uno con su respectivo check
Indetectable.Net
Si se puede hacer en un solo label, solo hay que codearse algunas condiciones y listo.
Aunque depende de lo que quieras hacer igual es mas sencillo hacerlo con varios.
Todos los refranes deberían acabar en , patada en los cojones ...
no se si es esto lo que quieres pero igual te sirve...

Cleck1_click

Código: Seleccionar todo

Private Sub Check1_Click()
If Check2.Value = Checked Then
Check2.Value = Unchecked
End If
If Label1.Caption = Check1.Caption Or Label1.Caption = Check2.Caption Then
Label1.Caption = ""
Else
Label1.Caption = Label1.Caption & Check1.Caption
End If
End Sub
Check2_click

Código: Seleccionar todo

Private Sub Check2_Click()
If Check1.Value = Checked Then
Check1.Value = Unchecked
End If
If Label1.Caption = Check1.Caption Or Label1.Caption = Check2.Caption Then
Label1.Caption = ""
Else
Label1.Caption = Label1.Caption & Check2.Caption
End If
End Sub
Te dejo el compilado para que veas como quedo..

[Enlace externo eliminado para invitados]

A ver si ahora me entendéis...

check1.caption= 1
check2.caption= 2
check3.caption= 3
check4.caption= 4

Lo que quiero conseguir es:

Si presiono el check1: label1.caption = 1
Si presiono el check2 teniendo presionado el check1 tb = 1 2
Si presiono el check4 teniendo presionado el check1 y el check2 = 1 2 4

Y Lo mismo cuando deschequeo:

Si tengo checado check1, check2 y check 4 (1 2 4) y deschequeo check4 que quede asi: 1 2

Espero haberme explicado.

Gracias a todos
Esto te puede servir, lo acabo de hacer basándome en parte de código encontrado en recursosvisualbasic:

Código: Seleccionar todo

Public Function Checks()
 Dim mCheckBox As Control
      Label1.Caption = ""
    For Each mCheckBox In Me.Controls
        If TypeOf mCheckBox Is CheckBox Then
           For i = 1 To mCheckBox
          If mCheckBox.Value = 1 Then
          Label1.Caption = Label1.Caption & mCheckBox.Caption
          End If
          Next i
        End If
    Next
End Function
Funciona perfectamente, simplemente en cada checkbox añade:

Código: Seleccionar todo

Call Checks
Cumple a la perfección con lo que pides.
UDTools.net
GitHub: https://github.com/MetalUDT
Responder

Volver a “VB/.NET”