Visual Basic - Como evitar el disparo del evento Click

Life is soft - evento anual de software empresarial
 
Vista:

Como evitar el disparo del evento Click

Publicado por Dan (6 intervenciones) el 22/01/2002 18:04:05
Hola, mi problema es el siguiente:

Si yo programo código para el evento Click de un control, por decir un RadioButton, se supone que se debe ejecutar solamente cuando el usuario haga "Click" con el mouse. Pero este evento también se dispara cuando activo dicho control vía código.

Es decir, si por ahí programo
RadioButton1.Value = True
Se dispara el evento Click, pero yo no quiero que se dispare en este caso.

Lo mismo ocurre con el evento Change de los TextBoxes, y todos ellos.

Hay alguna opción del compilador, o una de esas cláusulas "OPTION" que se ponen al comienzo, o lo que sea para evitar que los eventos se disparen solos? Esto me está haciendo perder el control del flujo y se ejecuta código imprevisto. Hasta ahora tengo que hacer artificios como:

...
RadioButton1.Tag = "Stop"
RadioButton1.Value = 1
RadioButton1.Tag = ""
...

Private Sub RadioButton1_Click()
If RadioButton1.Tag = "Stop" Then Exit Sub
<Código del evento>
End Sub

Lo cual es muy engorroso. Además algunas veces necesito el Tag para otros propósitos, para lo cual tengo que usar otros artificios.

Alguien tiene alguna idea? Mil gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como evitar el disparo del evento Click

Publicado por guido (71 intervenciones) el 23/01/2002 17:38:30
Dan: No hay forma de inhibir el disparo de los eventos en los controles intrinsecos. Es curiosa la forma que usaste, pero vale. Personalmente me reservo una variable a nivel de modulo (formulario) que indica el el valor del boton lo esta poniendo la propia aplicacion y no se debe a una accion del usuario. El caso clasico es rellenar un listbox o un combo y no desear que la aplicacion "responda" cuando es ella misma la que esta rellenando el combo.
Lo siento... igual que vos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como evitar el disparo del evento Click

Publicado por Luis Pérez (2 intervenciones) el 30/01/2002 11:29:30
Prueba a colocar el código en el evento mousedown en vez de en click. El evento click se ignora.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como evitar el disparo del evento Click

Publicado por Marcos Rincon (1 intervención) el 03/01/2024 17:15:09
En visual basic 6 no existe el evento mousedown pero me gustó la solución de

Dan:
...
RadioButton1.Tag = "Skip"
RadioButton1.Value = 1
RadioButton1.Tag = ""
...

Private Sub RadioButton1_Click()
If RadioButton1.Tag = "Skip" Then Exit Sub
<Código del evento>
End Sub

porque yo siempre usaba la otra de colocar una variable de FORMULARIO ej: dim Rellenando as Boolean
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar