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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    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 : 43
    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
    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 très actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    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 très actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    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 : 43
    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
    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 très actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 256
    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());
                }
            }
        }
    }

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