none
Passer un arguments à un Win Form VB.Net RRS feed

  • Question

  • Bonjour,

     

    Comment passer un argument à un programme Win Form développé en VB.Net ? Voilà ma question.

     

    Dans un programme identique développé en CS.Net, il y a une classe "Program" dont la procédure "Main" permet de récupérer les arguments d'exécution, comme montré ci-dessous.

     

    Mais où est donc le Main d'une appli VB.Net ?

     

    static class Program

    {

    /// <summary>

    /// The main entry point for the application.

    /// </summary>

    [STAThread]

    static void Main(string[] param)

    {

    Application.EnableVisualStyles();

    Application.SetCompatibleTextRenderingDefault(false);

    Application.Run(new Form1(param));

    }

    }

     

    Merci de vos réponses.

     

    P.S. : je veux lancer cette application dans l'Install d'un Setup (Custom Action) et lui passer des arguments.

    dimanche 16 mars 2008 11:17

Réponses

  • Bonjour,

    De base en VB.Net, Visual Studio utilise un "framework" pour le lancement de votre appli Winforms (voir les propriétés du projet, onglet Application). Il n'y a donc pas l'équivalent de la méthode Main en Csharp.

    Par contre vous pouvez en VB.Net accédez au paramètre de la ligne de commande via :

     

    My.Application.CommandLineArgs

     

    Sinon, si vous avez vraiement besoin d'une méthode Main, il faut dans votre projet créer un fichier Module avec le code suivant :

     

    Code Snippet

    Module Module1

    <STAThread()> _

    Sub Main(ByVal args As String())

    Application.EnableVisualStyles()

    Application.SetCompatibleTextRenderingDefault(False)

    Application.Run(New Form1())

    End Sub

    End Module

     

     

    Puis dans les propriétés du projet, onglet Application :

    • décocher "Enable aplpication framework"
    • Dans la liste Startup object sélectionner Sub Main

     

    Guillaume

    lundi 17 mars 2008 09:09
  • Pour insérer un snippet de code, tu n'as qu'à coller ton code dans la boite de texte, le sélectionner et utiliser le bouton "Mark Code Block" (Normalement le quatrième de la toolbar à partir de la droite.

     

    Code Snippet

    Voici un exemple!

     

     

    lundi 17 mars 2008 11:12
    Modérateur

Toutes les réponses

  • Bonjour,

    De base en VB.Net, Visual Studio utilise un "framework" pour le lancement de votre appli Winforms (voir les propriétés du projet, onglet Application). Il n'y a donc pas l'équivalent de la méthode Main en Csharp.

    Par contre vous pouvez en VB.Net accédez au paramètre de la ligne de commande via :

     

    My.Application.CommandLineArgs

     

    Sinon, si vous avez vraiement besoin d'une méthode Main, il faut dans votre projet créer un fichier Module avec le code suivant :

     

    Code Snippet

    Module Module1

    <STAThread()> _

    Sub Main(ByVal args As String())

    Application.EnableVisualStyles()

    Application.SetCompatibleTextRenderingDefault(False)

    Application.Run(New Form1())

    End Sub

    End Module

     

     

    Puis dans les propriétés du projet, onglet Application :

    • décocher "Enable aplpication framework"
    • Dans la liste Startup object sélectionner Sub Main

     

    Guillaume

    lundi 17 mars 2008 09:09
  • Parfait !

     

    Merci Guillaume.

     

    P.S. : Question subsidiaire : comment faites-vous pour introduire un "Code Snippet" dans votre réponse ? Utilisez-vous un navigateur pour vous connecter aux Forums ?

    lundi 17 mars 2008 10:01
  • Pour insérer un snippet de code, tu n'as qu'à coller ton code dans la boite de texte, le sélectionner et utiliser le bouton "Mark Code Block" (Normalement le quatrième de la toolbar à partir de la droite.

     

    Code Snippet

    Voici un exemple!

     

     

    lundi 17 mars 2008 11:12
    Modérateur
  • Code Snippet

    ça y est !

    Merci Biche.

     

     

     

    lundi 17 mars 2008 13:06