Como recorrer todos los formularios de mi programa en .NET

Publicado en 'Programación' por RositA.Kakumei, 15 Jul 2010.





  1. RositA.Kakumei

    RositA.Kakumei Miembro frecuente

    Registro:
    2 Mar 2009
    Mensajes:
    93
    Likes:
    9




    Holas,quisiera desahabilitar todos los formularios de mi aplicativo,lo que pasa es ponre un timer y luego deun minuto me debe deshabilitar todos los formularios,como puedo hacer eso???
    como recorro todos los formularios,sin llamar cada uno?
    Gracias.
    :chau:
     


  2. BLake

    BLake Miembro frecuente

    Registro:
    6 Mar 2009
    Mensajes:
    192
    Likes:
    17
    Hola, no soy experto en .net pero te doy una idea, hay un atributo para habilitar o deshabilitar los formularios pues crea en tus formularios un constructor con un parametro boolean para que en el timer crees instancias de tus formulario pero los crees usando el constructor con parametro algo asi :
    Formulario f = new Formulario(true)
    Eso te crea una instancia del formulario ademas no se mostrara pues aun no le colocas el .show() o .visible() o cualquier metodo que hacen que se vea el formulario.

    Si no deseas usar el constructor puedes crear en tus formularios un metodo que reciba el parametro para habilitar o deshabilitar,
     
  3. RositA.Kakumei

    RositA.Kakumei Miembro frecuente

    Registro:
    2 Mar 2009
    Mensajes:
    93
    Likes:
    9
    Hola,en realidad mi problema no es con deshabilitar,eso lo hago con enabled,o el visible,mi problema es este:
    Imaginate que estas usando los formularios y por un factor X te retires,entonces debe haber un timer,que empieze justo cuando no encuentro algun movimiento en el formulario,y queden deshabilitados,mi problema es como hacer empezar el timer,cuadno no se mueve nada,no escriba ,nada,ese....es el detalle.

    Gracias igual,Saludos.:chau:
     
  4. el_ken

    el_ken Miembro nuevo

    Registro:
    2 Mar 2007
    Mensajes:
    46
    Likes:
    1
    uhmmm como q no se mueve nada''?? no se utiliza el formulario''?? o no mueves el mouse y dejas quita la compu para q salga el protector de pantalla??
     
  5. RositA.Kakumei

    RositA.Kakumei Miembro frecuente

    Registro:
    2 Mar 2009
    Mensajes:
    93
    Likes:
    9
    Que no se mueva el mouse,y claro que no se este digitanto nada;no tiene q ver el protector de pantalla,simplemente formularios sin uso.
    :hi:
     
  6. BLake

    BLake Miembro frecuente

    Registro:
    6 Mar 2009
    Mensajes:
    192
    Likes:
    17
    Es interesante y algo trabajoso, bueno una idea que aplicaria seria la siguiente.
    Tener 2 Listeners uno para la accion no mover y otro listener para la accion mover, ademas un hilo, cuando cargue el formulario el hilo empieza a correr una variable empieza en 0 y va corriendo hasta que el listener de mover reconoce que se realizo la accion sobre el formulario y dispara sobre la variable que maneja el hilo reiniciandolo nuevamente a 0, si no llega a mover nada en el formulario entonces el hilo llegara a 60 entonces el otro listener de no mover se disparará cuando escuche que la variable del hilo llego a 60 pues nadie lo reinicio a 0, asi el listener de no mover se encargaria de deshabilitar tu formulario.
    Espero entiendas mi idea.
    Saludos.
     
  7. fulgorxd

    fulgorxd Miembro nuevo

    Registro:
    18 Dic 2007
    Mensajes:
    19
    Likes:
    1
    No es tan dificil, recuerda que los Formularios son Forms(si me entiendes). Lo que no entiendo es exactamente que deseas hacer ni como esta estructurada tu aplicacion, pero suponiendo que sea basica podrias crear una funcion

    Public sub detenerFormularios 'Por ejemplo

    y luego para recorrer los formularios

    PublicSub detenerFormularios()
    ForEach oForm As Form In Application.OpenForms
    oForm.enabled= False
    Next
    EndSub

    Luego quedaria programar eso con el timer, no se si te entendi mal o tal vez tu me entiendas mal pero espero te sirva, y si por ahi va la idea me indicas




     
    Última edición: 24 Ago 2010