IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Utiliser une winform comme console application


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Points : 107
    Points
    107
    Par défaut Utiliser une winform comme console application
    Bonsoir,

    voilà, j'explique mon problème.

    dans mon application winform j'aimerais, au lancement, vérifier si l'utilisateur entre des paramètres et si c'est le cas alors que mon application se lance en mode console je pense que ca devrai ressembler à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
     
    namespace Programm
    {
        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main(string[] args)
            {
                if (args.Length <= 0)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new frm_Main());
                }
                else
                {
                    //faire ce qu'elle doit faire en mode console
                }
            }
        }
    }
    mais j'ai beau faire des instruction dont j'imprime le résultat pour voir apparaitre la fenêtre console, l'application se lance pour se fermer

    que faut t'il faire dans ce cas?

    merciiii

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ben ça veut dire quoi pour toi, que l'application est en mode console ? Tu ne peux pas faire le même genre de choses en console et en GUI...

    Si tu cherches juste à afficher la console pour écrire des messages dedans, tu peux utiliser l'API AllocConsole. Il faut la déclarer comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            [DllImport("kernel32")]
            static extern bool AllocConsole();
    Quand tu appelles cette fonction, ça ouvre une console attachée à ton processus. Tous les appels à Console.WriteLine écriront dedans

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Points : 107
    Points
    107
    Par défaut
    j'ai pas encore regardé ce que tu m'a mis, mais, nan parce que si tu regarde bien le bout de code avant que la forme aparaisse je m'assure que l'utilisateur n'a rien introduit, comme ca si jamais il met des paramètres ben simplement il passera en mode console pour exécuter les instructions tu vois maintenant?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Points : 107
    Points
    107
    Par défaut
    Salut tom,

    pour revenir sur la discussion,

    les lignes d'instruction que tu m'a refilé ne fonctionne pas.

    regarde comment je l'utilise et dis moi si c'est correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
     
    namespace Program
    {
        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main(string[] args)
            {
                if (args.Length <= 0)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new frm_Main());
                }
                else
                {
                    //faire ce qu'elle doit faire en mode console
            [DllImport("kernel32")]
            static extern bool AllocConsole();
     
                }
            }
        }
    }
    j'en suis sur que non mais au moins tu verra clairement ce que je veux faire par là lol.

    merci

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            [DllImport("kernel32")]
            static extern bool AllocConsole();
    est une déclaration de méthode, tu dois le mettre directement dans le corps de la classe, pas dans une méthode. Pour l'appeler, tu fais simplement AllocConsole()

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Points : 107
    Points
    107
    Par défaut
    Bonjour Tom!

    excuse moi de revenir très tard pour répondre au post, c'est juste que je n'ai pas beaucoup le temps de m'occuper de ce que je fais en ce moment.

    Bon, pour revenir à ce allocConsole();.

    je l'ai mi dans le corp de la classe (excuse je connait moyennement l'OO ) c'est normale que je ne comprend pas, parfois, ce que tu me dis mais bon je suis en train de revoir l'OO avec le peu de temps dont je dispose.

    j'ai deux erreurs avec le mot "bool" et "extern"

    dis moi si je l'ai placé correctement au moin et comment correctement l'utiliser, merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    namespace WindowsFormsApplication1
    {
        [DllImport("kernel32")]
        static extern bool AllocConsole();
     
        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main(String[] args)
            {
                if (args.Length > 0){
                    AllocConsole();
                }else{
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new Form1());
                }
            }
        }
    }

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Non, là tu l'as mis en dehors du corps de la classe, directement dans le namespace. Il faut le mettre entre les accolades de la classe (au même niveau que la méthode Main)

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    Points : 107
    Points
    107
    Par défaut
    OOhhh purée excuse moi je suis tellement pété ce matin que j'ai même pas remarqué que je l'ai mi en dehors de la classe Hahahahahahaha PETAGE DE RIRE mon vieux

    encore merci bon jvé voir comment je peux exploiter cette méthode et jte dis quoi

    Merci

Discussions similaires

  1. comment utiliser une icone comme bouton
    Par othmane126 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/10/2006, 19h14
  2. Utiliser une variable comme nom de fichier
    Par lo00_ dans le forum MATLAB
    Réponses: 1
    Dernier message: 28/06/2006, 13h57
  3. Utiliser une Etiquette comme bouton
    Par pschmidtke dans le forum IHM
    Réponses: 6
    Dernier message: 07/06/2006, 14h48
  4. [curseurs] utiliser une variable comme nom de champ
    Par Christian31 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo