2012-05-10 14 views
12

¿Cuál es el equivalente de Program.cs en la aplicación VB.NET WinForms?¿Cuál es el equivalente de Program.cs en VB.NET

Necesito mover mi aplicación .CS a VB.NET.

Como no tengo formas en mi proyecto WinForms en Program.cs hago lo siguiente:

Application.Run(new MyForm(parm1, parm2); 

Cómo mover este código en VB.NET?

Gracias

+6

No entiendo su enojo. Busco antes y ninguna respuesta que Google me dio fue satisfactoria. @SteveDog despejó todas mis dudas y me ayudó a hacer que mi aplicación se ejecutara correctamente. – MaiOM

+1

Una forma de evitar quejas como @ Ramhound's es mostrar lo que encontraste al buscar y explicar por qué no fue satisfactorio. De cualquier forma, me alegra que me hayas preguntado, porque las respuestas me han ayudado. –

+1

Estoy de acuerdo con Don Kirkby, esta pregunta aparece en la parte superior cuando busqué en Google 'vb.net program.cs'. – ABH

Respuesta

24

Por defecto, las aplicaciones VB.NET utilizan el misterioso marco de aplicaciones de Windows lo que significa que el proceso de generación añade un punto de entrada para que el que se ejecuta automáticamente cualquier forma que se utiliza como la principal forma. Puede acceder a esta configuración a través del Propiedades del proyecto>Aplicación>Propiedades del marco de aplicación de Windows.

Si no desea utilizar el marco, desmarca la casilla de verificación Habilitar marco de aplicación y luego seleccione la que desea utilizar como su Sub Mainobjeto inicial. A continuación, puede crear un módulo con un método Public Sub Main que será el punto de entrada a la aplicación, al igual que en Program.cs en C#.

+1

¡Gracias por su aclaración! – MaiOM

8

No importa si se trata de Program.cs o YouNameIt.cs.

El punto de entrada predeterminado es Main().

Este código debería funcionar, a menos que tenga otro punto de entrada (se puede especificar en la configuración del proyecto).

Shared Sub Main()  
    ' Starts the application. 
    Application.Run(New Form1()) 
End Sub 
2

Como dice Steven's answer, de manera predeterminada no necesita nada como Program.cs en una aplicación VB.NET. Sin embargo, si desea reemplazar el código de lanzamiento estándar, puede agregar un nuevo módulo y seleccionarlo como el objeto de inicio.

Primero, haga clic derecho en el proyecto y elija Agregar: Módulo .... Puede asignarle al módulo el nombre que desee, pero lo llamé Program.vb para que sea coherente con el valor predeterminado de C#. Pegar en el código siguiente:

Module Program 
    Public Sub Main() 
     Application.Run(New Form1()) ''//Use your main form here 
    End Sub 
End Module 

A continuación, haga clic derecho en el proyecto y seleccione Propiedades. En la pestaña Aplicación, desmarque "Habilitar marco de aplicación". Luego cambie el objeto de inicio a Programa. Hay otra opción llamada Sub Main que creo que ejecutará la subrutina Main() esté donde esté.

Ahora que ha reemplazado el código de inicio estándar, puede agregar otras cosas a su subrutina Main(). Me di cuenta de una cosa en MSDN (How to: Change the Startup Object for an Application):

Cuando se utiliza un procedimiento personalizado Sub Main como el objeto inicial, el código en los eventos de aplicación (Startup, Shutdown, StartupNextInstance y UnhandledException) no se ejecuta.

Cuestiones relacionadas