none
Como activar/desactivar un menu de un form MDI desde un form splash

    Pregunta

  • Saludos y muchas bendiciones a todos.

    Paso a explicar mi consulta, he programado con vb6 por muchos años y ahora estoy cambiando a vb.net y estoy desarrollando una aplicación en visual studio 2010 la cual inicio con el sub main en este he llamado al form splash para mostrarlo mientras realizo otras tareas y al cargar el mdi principal este parte con los menús deshabilitados hasta que el usuario haga click sobre el form splash donde en el evento click habilito el menú del form mdi, pero no se activan

    este es el código del modulo

    Sub Main()
            Dim frmInicio As New frmSplash
    
    
    
    
            'Avilitamos los estilos visuales
            Application.EnableVisualStyles()
    
            'Mostramos el frmsplash
            frmInicio.lblNreApp.Text = "Sistema de Prueba"
            frmInicio.Topémoste = True
            frmInicio.Show()
    
    
    
            'Ejecutamos el form Principal
            Application.Run(New MDI_Principal())
    
    
    
        End Sub

    este es el código del evento click del form splash

    Private Sub frmSplash_MouseClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
            'Al hacer click se activan los menus del mdi
            MDI_Principal.MNS_Principal.Enabled = True
    
            'Cerramos el form
            Me.Close()
    End Sub

    y este es el código del mdi

     Private Sub MDI_Principal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            'Iniciamos el reloj
            tmrPrincipal.Start()
    
            'Desavilitamos los menus del mdi
            MNS_Principal.Enabled = False
    
    
    End Sub

    Espero me puedan ayudar.

    Muchas gracias

    lunes, 5 de diciembre de 2016 21:20

Respuestas

Todas las respuestas

  • Negochile,

    Te recomiendo utilizar el procedimiento Sub Main para lanzar el splashscreen y ejecutar el método Run, te dejo unos enlaces donde se explica lo que te sugiero:

    Mostrar formulario principal al ocultarse la splashscreen

    [Winform] Realizar tareas antes de inicializar aplicación


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 5 de diciembre de 2016 23:50
  • Estimado, muchas gracias por la respuesta.

    Pero tengo una duda, en mi proyecto de prueba estoy haciendo eso y no tengo problema al presentar el form splash y después el form principal é incluso al hacer click sobre el splash este se cierra correctamente, lo que no entiendo por que cuando quiero habilitar el menú del form principal desde el form splash no se habilita. El menú lo deshabilito en el load del form principal....

    Espero que me puedas o me puedan ayudar. 

    martes, 6 de diciembre de 2016 21:40
  • Negochile,

    No es necesario inhabilitar el menú del formulario principal porque éste no se muestra hasta cerrar el formulario de tipo 'screensplash'.

     


    martes, 6 de diciembre de 2016 21:51
  • Si, es Correcto.

    Me surgió esto... analizando el planteamiento que estaba haciendo, me nacio una pregunta, en el caso de iniciar la app desde un form splash, si yo cargo todo lo que necesito para que funciones la aplicación abro el form principal y cierro el form splash, se finalizaría la ejecución de la aplicación o no?

    • Marcado como respuesta Negochile martes, 13 de diciembre de 2016 23:24
    martes, 6 de diciembre de 2016 22:22