Me gustaría deshabilitar el poder abrir una misma ventana dos veces - DotNetClubs
en

DotNetClubs

Comunidades de estudiantes entusiastas de la tecnología

Me gustaría deshabilitar el poder abrir una misma ventana dos veces

Último artículo 04-29-2008 5:14 escrito por maloparaprogramar. 4 respuestas.
Página 1 de 1 (5 elementos)
Ordenar mensajes: Anterior Siguiente
  • 04-28-2008 0:48

    Me gustaría deshabilitar el poder abrir una misma ventana dos veces

     Saludos gente conocedora!!:

     Es la primera vez que me uno a un foro para responder dudas, a pesar de que tengo demasiadas Tongue Tied. El problema que tengo es que estoy desarrollando un proyecto en Visual Studio 2005, pero quiero deshabilitar, no permitir, o no poder abrir una misma ventana dos veces. Esto es, que si tengo una ventana abierta que se llame "nuevo usuario", no pueda abrirla de nuevo estando ésta abierta. ¿Sabe alguien cómo hacerle? Muchas gracias!!!

    • Puntos de post: 20
  • 04-28-2008 15:50
    [ Marcado como respuesta ]
    en respuesta a

    • FranDiaz
    • Contribuyente Top 10
    • Se unió el 12-19-2006
    • Huelva
    • Envíos: 76
    • Puntos: 450
    • DotNetClub_Coordinadores
      DotNetClub_Miembros
      DotNetClubs_AdminTeam

    Re: Me gustaría deshabilitar el poder abrir una misma ventana dos veces

    Answer

    Hola,

    Puedes crearte un propiedad de tipo boolean para activar/desactivarla si la ventana ya se abrió. Si la abres la pones a true, y si la cierras la pones a false. Luego te puedes crear un método para abrir la ventana y compruebe que está a false antes de abrirla Wink.

    Acuérdate de establecer esta propiedad a false cuando inicies el programa.

    Ya nos contarás que tal.

    Un Saludo

    Fran Díaz
    Coordinador OnobaNET & UHUDotNetClub
    http://geeks.ms/blogs/fdiaz
    • Puntos de post: 20
  • 04-28-2008 20:38 en respuesta a

    Re: Me gustaría deshabilitar el poder abrir una misma ventana dos veces

    Hola. Muchas gracias por tu consejo. Lo seguí como pude y ya lo tengo!!! jejeje. Lo que hice fue añadir un Module.vb a mi proyecto para meter ahí la variable booleana que me dijiste y lo manejé como me dijiste.

     

    Bno, te iba a preguntar también si sabes cómo mandar una ventana activa al frente, pues me gustaría lucirme ante mis compañeros de equipo y hacer que al haber verificado que mi ventana ya está abierta, que la mande al frente. ¿Sabrás hacerlo?

     

    De nuevo gracias, eso que te pregunto ya es extra...Big Smile 

    • Puntos de post: 20
  • 04-28-2008 21:48 en respuesta a

    • FranDiaz
    • Contribuyente Top 10
    • Se unió el 12-19-2006
    • Huelva
    • Envíos: 76
    • Puntos: 450
    • DotNetClub_Coordinadores
      DotNetClub_Miembros
      DotNetClubs_AdminTeam

    Re: Me gustaría deshabilitar el poder abrir una misma ventana dos veces

    Me alegro de que pudieras solucionarlo Smile. Para mostrar el formulario al frente tan solo tienes que llamar a la propiedad BringToFront() del formulario y listo Wink.

     Un Saludo

    Fran Díaz
    Coordinador OnobaNET & UHUDotNetClub
    http://geeks.ms/blogs/fdiaz
    • Puntos de post: 20
  • 04-29-2008 5:14 en respuesta a

    Re: Me gustaría deshabilitar el poder abrir una misma ventana dos veces

     Hey qué tal?? 

    Muchas gracias por tu ayuda. Lo cierto es que me funciona el método BringToFront() sólo cuando creo la variable al inicio de la clase de la ventana, osea, inmediatamente del "Public Class Principal". La creo así

            Dim frmUsuario As New Administracion_de_Usuarios

     Pero al ejecutarlo, abro la ventana (que no es de la clase Principal, sino de Administracion_de_Usuarios), y la cierro, pero al querer abrirla de nuevo me marca un error de una excepción no manejada. Por lo anterior, tuve qué dejar el método como estaba, y es así:

     

        Private Sub DarDeAltaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DarDeAltaToolStripMenuItem.Click
            Dim frmUsuario As New Administracion_de_Usuarios

           'Aquí verifico desde el módulo, si la ventana está abierta o no

           If estaAbierta() = False Then
                frmUsuario.Show()
                frmUsuario.TabControl1.SelectTab(0) 'Aquí sólo pongo el tab correspondiente a la sección que quiero

           'Aquí sólo hago el método abrir() del módulo para cambiar la variable a true

               abrir()
            Else
                frmUsuario.BringToFront()
            End If
        End Sub

     En el código anterior me funciona todo menos el método BringToFront()Tongue Tied. Entiendo que el programa no me lo reconozca, pero no se me ocurre cómo resolver este conflicto. ¿Tú sabrás? Gracias. Saludos

    • Puntos de post: 5
Página 1 de 1 (5 elementos)
(c) DotNetClubs 2008
Ofrecido por Community Server (Commercial Edition)