Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Reiniciar varios checkbox

Estas en el tema de Reiniciar varios checkbox en el foro de Visual Basic clásico en Foros del Web. Quisiera saber si existe la propiedad o funcion que me permita reiniciar alrededor de 15 a 20 checkbox.. Por ejemplo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código vb: Ver ...
  #1 (permalink)  
Antiguo 20/01/2010, 00:30
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Reiniciar varios checkbox

Quisiera saber si existe la propiedad o funcion que me permita reiniciar alrededor de 15 a 20 checkbox..

Por ejemplo

Código vb:
Ver original
  1. checkbox1.enabled=True
  2. checkbox2.enabled=False
  3. checkbox3.enabled=True
  4. checkbox4.enabled=True
  5. checkbox5.enabled=False
  6. checkbox6.enabled=True
  7. checkbox7.enabled=False
  8. checkbox8.enabled=True
  9. checkbox9.enabled=False
  10. checkbox10.enabled=True
  11. checkbox11.enabled=False
  12. checkbox12.enabled=True


Y que al momento de dar click a un command button me de una especie de reincio a los checkbox colocandos en su estado normal lo que quiero saber es si eso se hace con puro if habilitando y desabilitando para queden en su estado normal o existe alguna funcion para hacer eso
  #2 (permalink)  
Antiguo 20/01/2010, 02:15
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Reiniciar varios checkbox

Hola:

Todos los controles de VB disponen de la propiedad Index que simplifica enormemente el uso de funciones repetitivas y el acceso a multiples grupos de ellos.

Lo mas correcto es utilizar CheckBox(0), CheckBox(1) ... CheckBox(n) con lo cual puedes utilizar un simple For Next para inicializarlos.

De todos modos, comprueba un poco lo que estás haciendo porque en este tema, estas preguntando una cosa y haciendo otra.

Enabled .... Habilita o Desabilita el CheckBox

Y tu estas preguntando como inicilizar la opcion Value que puede ser 0, 1 o 2

Saludos
  #3 (permalink)  
Antiguo 20/01/2010, 04:01
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Reiniciar varios checkbox

Si cada checkbox debe quedar en un estado diferente, como muestras, lo tendrás que hacer así, creando una sub p.ej.
Sub ReiniciaCheckBox()
checkbox1.enabled=True
checkbox2.enabled=False
checkbox3.enabled=True
checkbox4.enabled=True
checkbox5.enabled=False
checkbox6.enabled=True
checkbox7.enabled=False
checkbox8.enabled=True
checkbox9.enabled=False
checkbox10.enabled=True
checkbox11.enabled=False
checkbox12.enabled=True
End Sub

Si los quieres poner todos enable o disable es más fácil:
For F=1 to checkboxes
controls("ChecBox" & F).Enabled=False
Next F
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #4 (permalink)  
Antiguo 20/01/2010, 11:39
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Reiniciar varios checkbox

tienes razon erbuson formule mal la pregunta lo que queria preguntar es como reiniciar los checkbox ..actualmente tengo asi el codigo

Código vb:
Ver original
  1. Check13.Value = 1
  2. If Check13.Value = 1 Then
  3. Check1.Enabled = False
  4. End If
  5. If Check1.Enabled = False Then
  6. Check2.Enabled = False
  7. End If
  8. If Check2.Enabled = False Then
  9. Check4.Enabled = False
  10. End If
  11. If Check4.Enabled = False Then
  12. Check5.Enabled = False
  13. End If
  14. If Check5.Enabled = False Then
  15. Check6.Enabled = False
  16. End If
  17. If Check6.Enabled = False Then
  18. Check7.Enabled = False
  19. End If
  20. If Check7.Enabled = False Then
  21. Check8.Enabled = False
  22. End If
  23. If Check8.Enabled = False Then
  24. Check9.Enabled = False
  25. End If
  26. If Check9.Enabled = False Then
  27. Check10.Enabled = False
  28. End If
  29. If Check10.Enabled = False Then
  30. Check11.Enabled = False
  31. End If
  32. If Check11.Enabled = False Then
  33. Check12.Enabled = False
  34. End If
  35. If Check13.Value = 1 Then
  36. Text7.Enabled = True
  37. End If

lo que pasa en que al momento de dar click al checkbox13 cambia el value de 0 a 1 activando un textbox para poder escribir en el y desabilita los demas checkbox.

lo que queria preguntar mas bien es como reiniciar los chechbox desabilitados a habilitados y a la vez cambiar el checkbox13 el value de 1 a 0 y al momento de cambiarle el value a 0 entonces desabilitar el textbox que se encuentra en el form
  #5 (permalink)  
Antiguo 20/01/2010, 12:30
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Reiniciar varios checkbox

Hola:

Independientemente de tu pregunta, que no se me ocurre ni por lo mas remoto lo que pueda hacer tu código, puedes hacerlo si quieres tenerlos de este modo, tal vez te basta una sola linea para cada uno de ellos haciéndolo mas legible.
De este modo

Check13.Value = 1
If Check13.Value = 1 Then Check1.Enabled = False
If Check1.Enabled = False Then Check2.Enabled = False
If Check2.Enabled = False Then Check4.Enabled = False
If Check4.Enabled = False Then Check5.Enabled = False
If Check5.Enabled = False Then Check6.Enabled = False
If Check6.Enabled = False Then Check7.Enabled = False
If Check7.Enabled = False Then Check8.Enabled = False
If Check8.Enabled = False Then Check9.Enabled = False
If Check9.Enabled = False Then Check10.Enabled = False
If Check10.Enabled = False Then Check11.Enabled = False
If Check11.Enabled = False Then Check12.Enabled = False
If Check13.Value = 1 Then Text7.Enabled = True

Sin embargo tal como está este código no tiene mucho sentido que compruebes el valor de Check13 cuando tu lo estás forzando en la primera linea.

Entones si fuerzas el Check13 a 1 el código no tendría porqué tener ninguna comparación puesto que ya sabes de antemano que cada una de ellas es cierta.

Por otra parte veo que no tienes el CheckBox3

Respecto a una función que los inhabilite o habilite a todos pkj te la da en su comentario.

Tal vez si comentaras lo que pretendes hacer te podríamos encaminar hacia una solución mas adecuada.

Saluldos
  #6 (permalink)  
Antiguo 20/01/2010, 13:31
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Reiniciar varios checkbox

lo que pretendo hacer es tener un form en el cual esten por ejemplo:

12 checkbox con diferentes aspectos (estudiante,jubilado,etc) y tener otro checkbox el numero 13 que diga (otros) y al momento de darle en el checkbox de (otro) quiero que desabilite los demas checkbox y habilite un textbox para poder ingresar el dato que va en la seccion de (otros)

espero me entiendan
  #7 (permalink)  
Antiguo 20/01/2010, 13:51
Avatar de ldcd  
Fecha de Ingreso: enero-2010
Ubicación: Distrito Federal
Mensajes: 57
Antigüedad: 14 años, 3 meses
Puntos: 6
De acuerdo Respuesta: Reiniciar varios checkbox

bueno pues hay una forma de manejar todos los controles semilares en un formulario, el codigo para tus checkbox seria basicamente asi

foreach(control ch in this.Controls)
{
if(ch is checkbox){
ch.checked=False;
}
}

esto iria en el evento checkedchange del checbox 13, solo que reiniciaria tambien el 13, pero eso t puede servir y modificarlo a tu gusto para lo que t pueda servir

espero t sirva y avisanos si quedo, suerte
  #8 (permalink)  
Antiguo 20/01/2010, 14:07
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Reiniciar varios checkbox

Cita:
Iniciado por ldcd Ver Mensaje
bueno pues hay una forma de manejar todos los controles semilares en un formulario, el codigo para tus checkbox seria basicamente asi

foreach(control ch in this.Controls)
{
if(ch is checkbox){
ch.checked=False;
}
}

esto iria en el evento checkedchange del checbox 13, solo que reiniciaria tambien el 13, pero eso t puede servir y modificarlo a tu gusto para lo que t pueda servir

espero t sirva y avisanos si quedo, suerte
Creo que esta respuesta no es para Visual Basic, por lo que a nuestro amigo buxforever no hará mas que complicarle la existencia.

Pregunto a buxforever ¿ Se puede marcar mas de una de las opciones o siempre una sóla de ellas ?

De todos modosyo te sigo aconsejando que renombres los CheckBox de la siguiente manera:

CheckBox1 le pones Ocupacion y en la propiedad Index le pones 0
Despues vas al CheckBox2 y le pones de Nombre Ocupación, verás que automaticamente te pone en index el valor 1 y así con todos.

Después puedes hacer el siguiente Bucle

IF Ocupacion(12).Value = 1 then
For i = 0 to 11
Ocupacion(i).Enabled = False
Next
Textbox.enabled = true
End If

Saludos
  #9 (permalink)  
Antiguo 20/01/2010, 14:24
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Reiniciar varios checkbox

Creo que para lo que quieres tienes que poner esto:

Código vb:
Ver original
  1. Private Sub Check13_Click()
  2.   Dim F As Integer
  3.   If Check13.Value=1 Then
  4.     For F=1 to 12
  5.       Controls("Check" & F).Enabled=False
  6.     Next F
  7.     Text7.Enabled = True
  8.   Else
  9.     For F=1 to 12
  10.       Controls("Check" & F).Enabled=True
  11.     Next F
  12.     Text7.Enabled = False
  13.   End If
  14. End Sub
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #10 (permalink)  
Antiguo 20/01/2010, 16:14
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Reiniciar varios checkbox

gracias ya pude solucionar este problema

Otra cosa porque no funciona la propiedad value de los checkbox dentro de un tab y un frame

porque la propiedad enabled si funciona, pero coloco un command button dentro de ese tab para realizar un check.value= 0 a uno de los checkbox y no me funciona

siendo que un form sin tab ni frame si funciona
  #11 (permalink)  
Antiguo 10/02/2010, 12:21
Avatar de smoke001  
Fecha de Ingreso: enero-2008
Mensajes: 83
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Reiniciar varios checkbox

deberia funcionarte correctamente que tabs usas? el de vb por defecto?
  #12 (permalink)  
Antiguo 10/02/2010, 16:42
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Reiniciar varios checkbox

Uso el SSTab de vb6

Etiquetas: checkbox, reiniciar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:59.