Saltar al contenido

¿Iniciar la aplicación GUI de VB.NET usando Sub Main o formar un objeto de inicio?

Recuerda que en la informática cualquier problema casi siempre tiene diversas resoluciones, por lo tanto aquí te mostramos lo mejor y más eficiente.

Solución:

La razón principal para usar Main() en VB .NET 1.x fue para agregar código que debía ejecutarse antes de que se cargaran los formularios. Por ejemplo, es posible que desee detectar si ya se cargó una instancia de su aplicación de Windows Forms. O es posible que desee interceptar cualquier excepción no controlada para AppDomain:

AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf MyExceptionFilter

Pero la próxima versión de VB y Visual Studio 2005 introdujeron un nuevo modelo de aplicación que hizo que Main() fuera innecesario en la mayoría de los escenarios. Ahora puede interceptar el evento My.Application.Startup para agregar código que debe ejecutarse antes de que se carguen los formularios.

Tenga en cuenta que el código para el Puesta en marcha El controlador de eventos se almacena en el archivo ApplicationEvents.vb, que está oculto de forma predeterminada.

Puede hacerlo de cualquier manera, pero realmente solo debe mantener el código en la forma que está directamente relacionada con las operaciones y los elementos de la interfaz de usuario. en ese formulario. El código de inicio de la aplicación no está relacionado con la interfaz de usuario, normalmente se ocupa de las pantallas de inicio, la verificación de la conectividad de la red, la verificación de una sola instancia, la configuración de la configuración del usuario, etc.

Después de completar los elementos anteriores (o el código de inicialización apropiado para su aplicación), Sub Main puede crear una instancia del formulario principal y luego mostrarlo para que el usuario pueda comenzar a interactuar con su aplicación.

Esto separa el código de inicio de su código de formulario. Más adelante, cuando esté realizando el mantenimiento de la aplicación, se alegrará de haber separado los dos.

Sí, y lo he hecho un par de veces.

Una de las razones es que si su aplicación es COM EXE (hablando ahora desde un punto de vista de VB6), entonces desea poder detectar en qué contexto se llama al EXE (se inicia o se le habla desde otra aplicación).

Por ejemplo:

Sub Main()
    If App.StartMode = vbSModeAutomation Then
        ...
    Else
        ...
    End If
End Sub

Otra es si desea que su aplicación pueda manejar cualquier parámetro de la línea de comandos.

Por ejemplo:

Sub Main()
    If App.PrevInstance Then End
    If InStr(Command, "/s") > 0 Then
        Form1.Show
    ElseIf InStr(Command, "/p") > 0 Then
        LoadPicture ("c:windowsZapotec.bmp")
    End If
End Sub

(de uno de mis intentos de hacer un protector de pantalla)

Te invitamos a añadir valor a nuestra información colaborando tu experiencia en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *