none
Comportamiento extraño con el MenuStrip y TextBox RRS feed

  • Pregunta

  • Tengo otro problema que me surge haciendo pruebas para otro error.

    Creo un proyecto nuevo

    Agrego un textbox
    Agrego un MenuStrip

    Al menuStrip le agrego un menuItem llamado archivo
    al menuItem Archivo la agrego un menuitem llamado Abrir

    En conclusión su doy click a archivo se tiene que abrir un menú donde saldrá Abrir, no

    Pues si, a sin es, el problema es otro.

    Ejecuta el programa, el cursor esta en el textbox, si ahora pulsas en el menú archivo, se abre un menú que contiene Abrir, el cursos del textbox desaparece y aunque le des click al textbox no vuelve aparecer, puedes escribir en el textbox pero el cursos no sale. Solo sucede si tienes un textbox, si agregas otros controles desaparece pero dando foco a los diferentes controles puedes hacer que vuelva a aparecer el cursor en el textbox


    • Editado AGTROI viernes, 30 de noviembre de 2012 23:11
    viernes, 30 de noviembre de 2012 23:03

Respuestas

  • Lo e solucionado de esta forma

        Private Sub ArchivoToolStripMenuItem_DropDownOpened(sender As Object, e As EventArgs) Handles ArchivoToolStripMenuItem.DropDownOpened
            Me.Focus()
        End Sub

    Cuando se abre el menu Archivo le doy el foco al formulario y el cursor volverá aparecer en el control que tenia el foco

    o mejor aun en el evento ItemClicked del MenuStrip

        Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
            Me.Focus()
        End Sub



    • Marcado como respuesta AGTROI sábado, 1 de diciembre de 2012 0:41
    • Editado AGTROI sábado, 1 de diciembre de 2012 0:46
    sábado, 1 de diciembre de 2012 0:41

Todas las respuestas

  • Agrega tu codigo, Es dificil saber que sucede con solo ver el Form.


    Ya imagino que puede ser; Pero, por favor, agrega tu codigo al comentario.

    viernes, 30 de noviembre de 2012 23:16
  • Hola

    Es un proyecto nuevo que e creado, solo tiene lo que ves, no hay codigo

    viernes, 30 de noviembre de 2012 23:24
  • Si no tiene codigo; ¿Ya intentaste crer un nuevo form con ambos controles? Quizá te sale más barato hacerlo y funciona.

    Y sino, deberá tener algo que ver con los eventos de tu control.
    Además, tu mencionas: "si ahora pulsas en el menú archivo, se abre un menú que contiene Abrir" Osea que no necesariamente son las propiedades del control, ya que al menos deberás tener el codigo que abre tu segundo formulario, el ShowDialog por ejemplo.

    viernes, 30 de noviembre de 2012 23:39
  • Hola

    No tengo eventos, nada de código, este es un ejemplo que e creado para intentar localizar donde tengo el problema de mi proyecto y por lo visto el problema viene del menuStrip no de mi código

    Mi ventana pierde el foco

    Puedes hacer la prueba solo tienes que agregar a un proyecto nuevo y los controles que ves en la foto y pulsar en archivo, veras como el cursor desaparece del textbox y ya no volverá a salir

    Mi versión es VS 2012, pero seguro que el 2010 también falla porque mantienen la misma versión

    viernes, 30 de noviembre de 2012 23:58
  • Si claro; Lo hice antes de responder la primera vez, y el cursor solo desaparece mientras el MenuStrip está Visible.


    No me parece apropiado, ni tampoco la mejor solución, quizá ya lo hicisite y si no, en el Evento clic del MS pon: Textbox1.Focus()

    Para ver si te lo regresa.

    sábado, 1 de diciembre de 2012 0:11
  • No aparece, en realidad no es un comportamiento correcto que el cursor desaparezca del textbox cuando se pulsa en el menuStrip


    • Editado AGTROI sábado, 1 de diciembre de 2012 0:22
    sábado, 1 de diciembre de 2012 0:16
  • Lo e solucionado de esta forma

        Private Sub ArchivoToolStripMenuItem_DropDownOpened(sender As Object, e As EventArgs) Handles ArchivoToolStripMenuItem.DropDownOpened
            Me.Focus()
        End Sub

    Cuando se abre el menu Archivo le doy el foco al formulario y el cursor volverá aparecer en el control que tenia el foco

    o mejor aun en el evento ItemClicked del MenuStrip

        Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
            Me.Focus()
        End Sub



    • Marcado como respuesta AGTROI sábado, 1 de diciembre de 2012 0:41
    • Editado AGTROI sábado, 1 de diciembre de 2012 0:46
    sábado, 1 de diciembre de 2012 0:41