Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: bybaal en 24 Diciembre 2015, 19:41 pm



Título: Ocultar Formulario de Inicio del Proyecto en VB.NET 2010
Publicado por: bybaal en 24 Diciembre 2015, 19:41 pm
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
  1. Private Sub Form_Load()
  2.  App.TaskVisible = False
  3.  Me.Hide
  4. End Sub

Ahora en VB.NET 2010 como sería?

gracias a todos


Título: Re: Ocultar Formulario de Inicio del Proyecto en VB.NET 2010
Publicado por: 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
  1. Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
  2. Handles MyBase.Shown
  3.  
  4.    Me.Hide()
  5.  
  6. End Sub

O también:
Código
  1. Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
  2. Handles MyBase.Load
  3.  
  4.    ' Me.Opacity = 0.0R
  5.    Me.ShowInTaskbar = False
  6.    Me.Visible = False
  7.  
  8. End Sub

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

Saludos


Título: Re: Ocultar Formulario de Inicio del Proyecto en VB.NET 2010
Publicado por: bybaal en 24 Diciembre 2015, 20:23 pm
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

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
  1. Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
  2. Handles MyBase.Shown
  3.  
  4.    Me.Hide()
  5.  
  6. End Sub

O también:
Código
  1. Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
  2. Handles MyBase.Load
  3.  
  4.    ' Me.Opacity = 0.0R
  5.    Me.ShowInTaskbar = False
  6.    Me.Visible = False
  7.  
  8. End Sub

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

Saludos


Título: Re: Ocultar Formulario de Inicio del Proyecto en VB.NET 2010
Publicado por: Eleкtro en 24 Diciembre 2015, 20:52 pm
A mi no se me ve, pero prueba así de todas formas:

Código
  1. Public NotInheritable Class Form1 : Inherits Form
  2.  
  3.    Public Sub New()
  4.  
  5.        MyClass.InitializeComponent()
  6.        Me.Size = Size.Empty
  7.        Me.Opacity = 0.0R
  8.        Me.ShowInTaskbar = False
  9.  
  10.    End Sub
  11.  
  12.    Private Sub RestoreWindow()
  13.  
  14.        Me.Size = Me.DefaultSize
  15.        Me.Opacity = 1.0R
  16.        Me.ShowInTaskbar = True
  17.  
  18.    End Sub
  19.  
  20.    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
  21.    Handles MyBase.Shown
  22.  
  23.        ' Me.RestoreWindow()
  24.  
  25.    End Sub
  26.  
  27. End Class

Saludos


Título: Re: Ocultar Formulario de Inicio del Proyecto en VB.NET 2010
Publicado por: bybaal en 24 Diciembre 2015, 21:07 pm
Ahora si funciona perfectamente, gracias por todo

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

Código
  1. Public NotInheritable Class Form1 : Inherits Form
  2.  
  3.    Public Sub New()
  4.  
  5.        MyClass.InitializeComponent()
  6.        Me.Size = Size.Empty
  7.        Me.Opacity = 0.0R
  8.        Me.ShowInTaskbar = False
  9.  
  10.    End Sub
  11.  
  12.    Private Sub RestoreWindow()
  13.  
  14.        Me.Size = Me.DefaultSize
  15.        Me.Opacity = 1.0R
  16.        Me.ShowInTaskbar = True
  17.  
  18.    End Sub
  19.  
  20.    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As EventArgs) _
  21.    Handles MyBase.Shown
  22.  
  23.        ' Me.RestoreWindow()
  24.  
  25.    End Sub
  26.  
  27. End Class

Saludos


Título: Re: Ocultar Formulario de Inicio del Proyecto en VB.NET 2010
Publicado por: bybaal en 27 Febrero 2016, 14:44 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