Problema con checkbox

Iniciado por rapbyone, 6 Enero 2015, 13:46 PM

0 Miembros y 1 Visitante están viendo este tema.

rapbyone

Amigos, Primero que todo desearles un feliz 2015.
Tengo un pequeño problema, tengo un checkbox el cual muestra un mensaje al estar marcado y otro mensaje al estar desmarcado. Funciona perfecto.

El problema se genera al iniciar la aplicación, ya que el programa marca o desmarca el checkbox cuando está o no está un archivo. y si existe el archivo, se marca el checkbox pero al mismo tiempo lanza el mensaje al iniciar la aplicación.

Este es el código para que se entienda mas:

Código (vb) [Seleccionar]

Private Sub Form_Load()
If Len(Dir("C:\lm.dll")) = 0 Then
Check1.Value = 0
Else
Check1.Value = 1
End If
End Sub

Private Sub Check1_Click()
If Check1.Value = 1 Then
msgbox "marcado"
Else
msgbox "no marcado"
End If
End Sub


En resumen, el problema es que al marcar el checkbox al iniciar la aplicación al estar el archivo, se lanza el mensaje, y la idea es que el mensaje solo se lance cuando se marque el checkbox manualmente.

Espero se entienda, gracias amigos

Shell Root

No entendi, dices que funciona perfectamente cuando se pulsa en el check, es decir, se marca el mensaje de "marcado" o "no marcado", pero al inicio?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

rapbyone

Cita de: Shell Root en  6 Enero 2015, 13:58 PM
No entendi, dices que funciona perfectamente cuando se pulsa en el check, es decir, se marca el mensaje de "marcado" o "no marcado", pero al inicio?

Lo explico de otra manera:
Al iniciar la aplicación, esta hace una comprobación para determinar si existe o no existe un archivo, si archivo existe, se marca el checkbox, si no, se desmarca. El problema es que al iniciar la aplicación, aparece el mensaje de "marcado" y la idea es que no aparezca ese mensaje al inicio, si no que aparezca cuando yo lo presiones manualmente.

Shell Root

Pues a mi no me aparece el mensaje al iniciar sólo cuando presiono el CheckBox, ahora mira el evento Change
Código (vb) [Seleccionar]
Private Sub CheckBox1_Change()
    If CheckBox1.Value = True Then
        MsgBox "Marcado"
    Else
        MsgBox "No marcado"
    End If
End Sub

Private Sub UserForm_Click()
    If Len(Dir("C:\lm.dll")) = 0 Then
        CheckBox1.Value = False
    Else
        CheckBox1.Value = True
    End If
End Sub


Probad y me dices como te va
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

silver_axe007

Pues yo crearia una Variable al inicio del programa... luego de la primera vez no muestro mensaje y la cambio a que ya no sea primera vez....  .... y a partir de ahi ... listo funcionara para despues.... que dices te ayudo?