Ocultar Formulario de Inicio del Proyecto en VB.NET 2010

Iniciado por bybaal, 24 Diciembre 2015, 19:41 PM

0 Miembros y 1 Visitante están viendo este tema.

bybaal

Hola a todos, en VB 6 era muy fácil utilizar app.taskvisible y me.hide en el evento load del formulario inicial del proyecto para que no se mostrara el formulario, pero en VB.NET me.hide no esconde el formulario, me.visible = false, tampoco lo hace y no se de que forma hacer lo que se hacía con app.taskvisible

Antes en VB 6

Código (vbnet) [Seleccionar]
Private Sub Form_Load()
 App.TaskVisible = False
 Me.Hide
End Sub


Ahora en VB.NET 2010 como sería?

gracias a todos

Eleкtro

#1
En el evento Form.Load la ventana todavía no se ha llegado a componer completamente así que no tiene efecto que la intentes ocultar llamando al método Hide.

Puedes utilizar el evento Form.Shown

Código (vbnet) [Seleccionar]
Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
Handles MyBase.Shown

   Me.Hide()

End Sub


O también:
Código (vbnet) [Seleccionar]
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
Handles MyBase.Load

   ' Me.Opacity = 0.0R
   Me.ShowInTaskbar = False
   Me.Visible = False

End Sub


Nota: También puedes asignar las propiedades deseadas en el constructor del Form.

Saludos








bybaal

Funciona, pero el formulario se ve y después se oculta, por lo que no es un método muy eficiente

si hubiese otro modo en el que el formulario no se viese en ningún momento sería magnifico.

muchas gracias por la ayuda

Cita de: Eleкtro en 24 Diciembre 2015, 20:03 PM
En el evento Form.Load la ventana todavía no se ha llegado a componer completamente así que no tiene efecto que la intentes ocultar llamando al método Hide.

Puedes utilizar el evento Form.Shown

Código (vbnet) [Seleccionar]
Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
Handles MyBase.Shown

   Me.Hide()

End Sub


O también:
Código (vbnet) [Seleccionar]
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
Handles MyBase.Load

   ' Me.Opacity = 0.0R
   Me.ShowInTaskbar = False
   Me.Visible = False

End Sub


Nota: También puedes asignar las propiedades deseadas en el constructor del Form.

Saludos

Eleкtro

A mi no se me ve, pero prueba así de todas formas:

Código (vbnet) [Seleccionar]
Public NotInheritable Class Form1 : Inherits Form

   Public Sub New()

       MyClass.InitializeComponent()
       Me.Size = Size.Empty
       Me.Opacity = 0.0R
       Me.ShowInTaskbar = False

   End Sub

   Private Sub RestoreWindow()

       Me.Size = Me.DefaultSize
       Me.Opacity = 1.0R
       Me.ShowInTaskbar = True

   End Sub

   Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
   Handles MyBase.Shown

       ' Me.RestoreWindow()

   End Sub

End Class


Saludos








bybaal

Ahora si funciona perfectamente, gracias por todo

Cita de: Eleкtro en 24 Diciembre 2015, 20:52 PM
A mi no se me ve, pero prueba así de todas formas:

Código (vbnet) [Seleccionar]
Public NotInheritable Class Form1 : Inherits Form

   Public Sub New()

       MyClass.InitializeComponent()
       Me.Size = Size.Empty
       Me.Opacity = 0.0R
       Me.ShowInTaskbar = False

   End Sub

   Private Sub RestoreWindow()

       Me.Size = Me.DefaultSize
       Me.Opacity = 1.0R
       Me.ShowInTaskbar = True

   End Sub

   Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
   Handles MyBase.Shown

       ' Me.RestoreWindow()

   End Sub

End Class


Saludos

bybaal

Cita de: bybaal en 24 Diciembre 2015, 21:07 PM
Ahora si funciona perfectamente, gracias por todo


Me he dado cuenta de que la perfección no se logra tan fácilmente, ya que al código solo le falta que la aplicación se ejecute en segundo plano, o sea, que en el administrador de tareas no salga en el listado de aplicaciones y que si salga en el listado de procesos en segundo plano.

Gracias por la ayuda