none
Deshabilitar teclado/mouse RRS feed

  • Pregunta

  • Hola, tengo un gran inconveniente en una aplicacion que estoy haciendo en vb.net 2008. Mi problemas es que tengo un boton que cuando el usuario lo presiona, tarda un tiempo considerable porque hace varias consultas sql y llena graficas , etc.. Mi problemas no es que tarde, sino que si en el momento que se presiono, cuando ya esta el relojito de arena, si el usuario me presiona una tecla del teclado, o hace click en la pantalla se me cuelga todo. 
    Necesitaria algo, si es que existe, para sacarle por un tiempo el control al usuario... 

    Desde ya muchas gracias. 


    Sebasss

    lunes, 19 de marzo de 2012 17:53

Todas las respuestas

  • No es que se cuelgue todo cuando recibe un mensaje de teclado o mouse.  Su aplicación ya está colgada desde antes, simplemente Windows no la ha marcado como tal.  La solución para esto es que realice las consultas SQL y en general el trabajo del botón en un hilo distinto al hilo principal.  De esta forma el hilo principal puede procesar mensajes y Windows no la dibuja como "no responde".

    Jose R. MCP

    lunes, 19 de marzo de 2012 18:17
  • Hola Jose, antes que nada gracias por tu tiempo. No creo que la aplicacion este colgada, es decir si yo luego de que presiono este boton, espero que termine de ejecuar todo sin clickear nada me arroja los resultado y los graficos perfectamente. El error creo esta en otra parte. Incluse se me cuelga hasta al intentar minimizar la ventan. Pero ya te digo si yo no clickeo nada , el resultado es el correcto. Parece raro... la verdad no se que podra ser.

    Sebasss

    lunes, 19 de marzo de 2012 18:56
  • hola

    usa el BackgroundWorkerpara podr lanzar una accion en un hilo separado y no bloquee la aplciacion principal

    How To Update Controls Using BackgroundWorker in VB.NET

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 19 de marzo de 2012 19:01