Visual Basic - Eventos de boton

Life is soft - evento anual de software empresarial
 
Vista:

Eventos de boton

Publicado por Sofia (12 intervenciones) el 25/10/2005 21:50:23
Hola,
Escribo porque tengo una pregunta. En mi aplicacion tengo dos command buttons. En el primero (Adquirir) uso el evento click para activar una subrutina que tien una parte que debe repetirse hasta que el usuario decida detenerla. Entonces, para eso, puse otro otro boton (Detener), lo que no se es si en el evento del primer boton se puede poner como condicion de un while el evento click del segundo boton o hay otra forma para hacerlo.
Gracias por su ayuda de antemano.
Sofia
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:Eventos de boton

Publicado por ivan (1039 intervenciones) el 25/10/2005 23:54:46
Tanto asi como poner el evento del botón Detener no creo que se pueda, pero lo que si puedes hacer es usar una variable que actives en el botón Detener pero que valides en el botón Adquirir.

Por ejemplo

En el sub de Adquirir

Do
....
....
Until Salir

En el sub de Detener
Salir = True

Seria bueno que en el evento Load del Form esta variable la inicializaras, ya sea en true o en false, pero si es importante que tenga un valor antes de que empieces a usarla

Espero me hayas entendido, si no, pregunta de nuevo.

Saludos
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:Eventos de boton

Publicado por Sofia (12 intervenciones) el 26/10/2005 00:01:15
Gracias, si te entendi, voy a probar lo que me dices y si tengo duda, pues te pregunto de nuevo
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:Eventos de boton

Publicado por Sofia (12 intervenciones) el 26/10/2005 18:46:25
Pues ya lo probe, y se congela la aplicacion con el ciclo. No se como se podria hacer para que no se congele.
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:Eventos de boton

Publicado por Ruben (4 intervenciones) el 26/10/2005 19:25:53
Usa la función DoEvents, que sale al sistema operativo y se fija si ocurrió algún evento durante la corrida. Si es así, ejecuta el evento. (En tu caso, para la rutina).
Ej: Private sub...... Command1_click ()
DoEvents
Comienzo la rutina automática
.
.
End sub
Cuando pulses el botón 2, al pasar tu rutina por el DoEvents, se va a forzar el evento click y ahí podés detener la rutina.
Saludos
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:Eventos de boton

Publicado por sofia (12 intervenciones) el 26/10/2005 19:49:13
al final del DoEvents se puede poner un while, o un loop algo para que la repita varias veces?
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:Eventos de boton

Publicado por ruben (4 intervenciones) el 26/10/2005 20:01:12
El DoEvents en el medio de tu loop 1, tiene el solo efecto de que el sistema se fije si hay la llamada a algún otro evento. Si no lo hay, sigue ejecutando el loop.
Si pones un contador en tu loop1 y lo muestras en un label, podrás ver que el loop1 va más lento, porque a cada vuelta el DoEvents se fija si hay algún evento para ejecutar y eso retarda el loop un poco.

Cuendo pulsas el botón 2, se produce el evento click, por lo cual el loop 1, cuando pasa por el DoEvents va a ver que está el evento click del botón 2 y lo ejecuta. En el evento click del botón 2, tendrás que poner las sentencias necesarias para parar el loop1.

Espero te sirva
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:Eventos de boton

Publicado por sofia (12 intervenciones) el 26/10/2005 20:18:30
Muchas Gracias, ya quedo resuelto.
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