none
Mi formulario principal pierde el foco luego de utilizar otro formulario en modal. RRS feed

  • Pregunta

  • Buenas tardes,

    Estoy con un formulario principal donde el usuario debe pasar la mayor parte del tiempo. Cada tanto pulsará F3 y con esto la app ejecuta el siguiente código:

    Form2.ShowDialog

    ....hace algo

    Form2.Dipose

    luego el usuario seguiría tranquilamente en su form principal.

    El problema es que esto no ocurre y en lugar de eso luego del Form2.Dispose windows entrega el foco a otro proceso o quizá a ninguno, no lo sé, el caso es que mi usuario debe tomar el mouse y hacer click en la ventana inicial para continuar trabajando.

    Esto es muy molesto para mis usuarios ya que están largas jornadas de trabajo y se torna engorroso.

    Alguna sugenrecia?

    Ya he utilizado MiFormPrincipal.Focus(),

    pero esto no funciona.

    gracias.

    sábado, 17 de agosto de 2019 20:23

Todas las respuestas

  • Deberíasmo sabér donde efectuar el focus, ej en Form1.Textbox1.Focus, se me ocurre colocar en el form2 en el lodad

     Form1.WindowState = FormWindowState.Minimized

    Esto provocará que se minimize el Form principal y al momento de cierre en el button que tengas para serrar o en el evento FormClosing

      Form1.WindowState = FormWindowState.Normal
           Form1.TextBox1.Focus()

    Edito; Acabo de comprobar mediante código lo que dices, la clave es dictar el Focus al control del Form1 en el momento que inicias form2 en modal

    como coloqué antes en el evento formclosing del Form2

     Form1.WindowState = FormWindowState.Normal
            Me.Dispose()

    En el evento Load del Form2

      Form1.WindowState = FormWindowState.Minimized

    Esto si sirve a tu escenario 

    Y en el en el button  que abres el form2

       Dim Frm As Form = New Form2()
            Frm.ShowDialog()
            TextBox1.Focus()

    Esto en caso el foco lo pasa a un textbox del Form1

    Saludos espero te sirva


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗


    • Editado Marcelo PF domingo, 18 de agosto de 2019 3:16
    sábado, 17 de agosto de 2019 23:14