2012-05-10 16 views
12

Qual è l'equivalente di Program.cs nell'applicazione WinForms VB.NET?Qual è l'equivalente di Program.cs in VB.NET

Ho bisogno di spostare la mia app .CS su VB.NET.

Come non ho forme nel mio progetto WinForms in Program.cs faccio la seguente:

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

Come spostare questo codice in VB.NET?

Grazie

+6

Non riesco a capire la tua rabbia. Cerco prima e nessuna risposta che Google mi ha dato è stata soddisfacente. @SteveDog ha chiarito tutti i miei dubbi e mi ha aiutato a far funzionare correttamente la mia app. – MaiOM

+1

Un modo per evitare reclami come @ Ramhound è mostrare ciò che hai trovato durante la ricerca e spiegare perché non è stato soddisfacente. Ad ogni modo, sono felice che tu abbia chiesto, perché le risposte mi hanno aiutato. –

+1

Sono d'accordo con Don Kirkby, questa domanda appare in alto quando ho cercato su google "vb.net program.cs". – ABH

risposta

24

Per impostazione predefinita, le applicazioni VB.NET utilizzare il misterioso di Windows Application Framework che significa che il processo di generazione aggiunge un punto di ingresso per voi che esegue automaticamente qualsiasi forma si utilizza come la principale forma. È possibile accedere a queste impostazioni tramite Proprietà progetto>Applicazione>Proprietà del framework dell'applicazione Windows.

Se non si desidera utilizzare il framework, deselezionare la casella di controllo Enable application framework e quindi selezionare che si desidera utilizzare Sub Main come oggetto di avvio. Quindi puoi creare un modulo con un metodo Public Sub Main che sarà il punto di accesso all'applicazione, proprio come in Program.cs in C#.

+1

Grazie per il vostro chiarimento! – MaiOM

8

Non importa che si tratti di Program.cs o YouNameIt.cs.

Il punto di ingresso predefinito è Main().

Questo codice dovrebbe funzionare, a meno che non si disponga di un altro punto di ingresso (può essere specificato nelle impostazioni del progetto).

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

Come dice Steven's answer, per impostazione predefinita non è necessario nulla come Program.cs in un'applicazione VB.NET. Se si desidera sostituire il codice di avvio standard, tuttavia, è possibile aggiungere un nuovo modulo e selezionarlo come oggetto di avvio.

Innanzitutto, fare clic con il tasto destro del mouse sul progetto e scegliere Aggiungi: Modulo .... È possibile assegnare al modulo il nome desiderato, ma l'ho denominato Program.vb per essere coerente con il predefinito C#. Incollare nel seguente codice:

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

Avanti, fare clic destro sul progetto e scegliere Proprietà. Nella scheda Applicazione, deselezionare "Abilita framework applicazione". Quindi modificare l'oggetto di avvio su Programma. C'è un'altra opzione chiamata Sub Main che penso eseguirà la subroutine Main() ovunque si trovi.

Ora che hai sostituito il codice di avvio standard, puoi aggiungere altre cose alla tua subroutine Main(). Ho notato un'altra cosa sulla MSDN (How to: Change the Startup Object for an Application):

Quando si utilizza una procedura personalizzata Sub Main come l'oggetto di avvio, il codice negli eventi di applicazione (Startup, Shutdown, StartupNextInstance, e UnhandledException) non viene eseguita.

Problemi correlati