https://foro.gambas-es.org/viewtopic.php?f=1&t=2924&p=16493#p16493
-----------------------------------
shordi
Jueves, 28 Febrero 2013, 10:58

Re: Como Limpio Los Checkbox De Un Formulario Despues Que Estan Marcados
-----------------------------------
Vamos a ver:
Dos consejos te doy que marcarán la diferencia entre seguir dando palos de ciego o saber, realmente, lo que estás haciendo. Primero: Pon nombre a tus controles y a tus procedimientos, eso de checkBox1 y chekBox14 es una auténtica locura. Segundo: No utilices la herramienta inapropiada para cada cosa. Con una llave inglesa "se pueden" clavar clavos, pero usa un martillo y te irá mucho mejor.
El comportamiento de los checkbox no es el que tú deseas, tú estás pidiendo a gritos radio buttons. Úsalos.

Ahora con tu problema: El evento click de un checkbox se auto-ejecuta al variar su valor. Por eso, cuando cambias vía código checkbox1.value=0, se lanza el código

[code linenumbers=false syntax=gambas]public sub checkbox1_ Click()

checkbox2.value= not checkbox1.value

end
[/code]

y se te activa el checkbox2.

Si quieres control total, utiliza algo que anule ese código, por ejemplo una variable privada.
Al prinicipio del formulario coloca:
Private limpiar as boolean 

Cuando desees que todos queden en blanco:
[code linenumbers=false syntax=gambas]limpiar=true
checkbox1.value=false
checkbox2.value=false
.....

limpiar=false
[/code]

y modifica el código de los eventos click con

[code linenumbers=false syntax=gambas]public sub checkbox1_ Click()

if not limpiar then
 checkbox2.value= not checkbox1.value
endif

end
[/code]

Tu problema arreglado... a base de retorcer el código. Sé que le tienes aprecio a tu código, que te ha costado un montón y que, de momento, funciona, pero haz caso a los muchos años de experiencia acumulada en todas las respuestas que se te ofrecen. Ahorrarás tiempo y calentamientos de cabeza.


