SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: fORU- en Jueves 13 de Septiembre de 2007, 07:23
-
hola, ando experimentando vb.net y me surguio una duda y a la vez un problema ya que mi programa no hace lo que quiero por no saber manejar los retrasos en vb.net. mi problemas es el siguien:
Do While (quinientos > 0)
PictureBox4.Visible = True
'aqui ocupo un retraso'
PictureBox4.Visible = False
quinientos = quinientos - 1
Loop
un compa;ero me dijo que usara System.Threading.Thread.CurrentThread.Sleep(1000)
pero no me funciona me marca esa linea de comando subrayada en verde.
agradeceria si alquien tiene la forma correcta de usar ese thread o de otra forma para poder implementra un retraso en el codigo que les presente.
gracias!!!
-
no te serviria usar timer para efectuar eso ?.
BYTE.
-
Hola foru-,
Entiendo que lo que quieres hacer es que un dibujo parpadee (aparezca y desaparezca). A mí me parece que el ejemplo que has puesto no funciona porque si te fijas entras en el bucle, visualizas la imagen, y te quedas esperando un tiempo. Luego quitas la imagen, decrementas el contador y al volver al comienzo del bucle muestras la imagen de nuevo. Osea, que en realidad quitas la imagen e inmediatamente después la vuelves a visualizar así que no vas a llegar a ver nada. El bucle tendría que ser algo así.
do while (quinientos > 0)
picturebox.visible = true
'Metes la espera
picturebox.visible = false
'Metes otra espera
quinientos = quinientos - 1
loop
¿Podrías poner el mensaje que te saca cuando te subraya en verde el System.Threading.Thread.CurrentThread.Sleep(1000)? Así vemos porque se está quejando el Visual Studio.
Como dice lencho también puedes hacerlo usando un timer. Por ejemplo, declaras un contador dentro del formulario (dim contador as integer) y cuando quieras que el dibujo parpadee arrancas el timer. Dentro de la rutina que se ejecuta cuando salta el timer simplemente cambias el estado de la propiedad visible del picturebox e incrementas el contador. Cuando el contador llegue a un determinado número paras el contador y ya está.
Espero que te sirva de algo. Un saludo
-
Sale gracias a todos, utilize timers, pero batalle poco ,lo bueno es que al final lo logre!!
XD