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 :

Effacement de la console en Windows Form


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de MGD_Software
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 137
    Par défaut Effacement de la console en Windows Form
    Bonjour,

    Je développe une application de bureau (Windows Forms) comprenant des calculs très complexes, et je sors beaucoup de résultats intermédiaires dans le panneau "Sortie" avec l'instruction Console.WriteLine().

    Pour que la lecture soit claire, je dois effacer manuellement le panneau Sortie avant chaque lancement du calcul. J'aimerais pouvoir disposer d'une procédure qui effectue ce travail, que j'appellerais au début de chaque calcul.

    Tout ce que j'ai trouvé sur le net (beaucoup d'articles pourtant) ne concerne que les applications console.

    Tenter d'utiliser l'instruction Console.Clear() provoque une exception :
    System.IO.IOException : 'Descripteur non valide'
    Quelqu'un pourrait-il m'indiquer si c'est possible et comment faire?

    Merci.

  2. #2
    Membre chevronné Avatar de WaterTwelve21
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 270
    Par défaut
    Bonjour ,

    la fonction Console.Clear() est réservé pour les applications console.
    Si tu veux programmatiquement nettoyer la sortie je t'envoie vers ce lien => https://stackoverflow.com/questions/...al-studio-2012.

    Bon code,

  3. #3
    Membre éprouvé Avatar de MGD_Software
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 137
    Par défaut
    J'ai trouvé !
    En navigant pour autre chose, j'ai trouvé cette discussion chez StackOverflow (avec des mots clés ne contenant pas console !) :
    https://stackoverflow.com/questions/...al-studio-2012

    Pour vous éviter de naviguer, voici le code de la fonction :
    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
        /// <summary>
        /// Clear the Output window-pane of Visual Studio.
        /// Note: Causes a 1-second delay.
        /// </summary>
        public static void ClearOutputWindow()
        {
            if (!Debugger.IsAttached)
            {
                return;
            }
     
            //Application.DoEvents();  // This is for Windows.Forms.
            // This delay to get it to work. Unsure why. See http://stackoverflow.com/questions/2391473/can-the-visual-studio-debug-output-window-be-programatically-cleared
            Thread.Sleep(1000);
            // In VS2008 use EnvDTE80.DTE2
            EnvDTE.DTE ide = (EnvDTE.DTE)Marshal.GetActiveObject("VisualStudio.DTE.10.0");
            if (ide != null)
            {
                ide.ExecuteCommand("Edit.ClearOutputWindow", "");
                Marshal.ReleaseComObject(ide);
            }
        }
    Personnellement, j'ai décommenté le DoEvents mais supprimé le sleep (donc plus besoin du using System.Threading). Ça marche bien.

    Il faut penser à ajouter la référence à EnvDTE dans le projet, et déclarer le using System.Runtime.InteropServices

  4. #4
    Membre chevronné Avatar de WaterTwelve21
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 270
    Par défaut
    Citation Envoyé par MGD_Software Voir le message
    J'ai trouvé !
    En navigant pour autre chose, j'ai trouvé cette discussion chez StackOverflow (avec des mots clés ne contenant pas console !) :
    https://stackoverflow.com/questions/...al-studio-2012
    C'est exactement le lien que je t'ai envoyé .

  5. #5
    Membre éprouvé Avatar de MGD_Software
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 137
    Par défaut Oups !
    Effectivement.
    Je n'étais pas descendu assez bas dans la discussion, et comme je ne maitrise pas très bien l'anglais je n'ai pas compris du premier coup.
    Je l'ai retrouvé par hasard.

    Merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Afficher un tableau créé en mode console dans Windows Forms
    Par gil78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/08/2015, 11h24
  2. [Débutant] Afficher la console en Windows form
    Par Sanyika dans le forum C#
    Réponses: 6
    Dernier message: 27/01/2013, 20h03
  3. Réponses: 6
    Dernier message: 04/08/2008, 16h36
  4. [C++ .NET] Disposer d'une console de déboguage en Windows Form
    Par pierre.chatelier dans le forum C++/CLI
    Réponses: 4
    Dernier message: 04/09/2007, 14h31
  5. [C++ .NET] Disposer d'une console de déboguage en Windows Form
    Par pierre.chatelier dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 04/09/2007, 13h18

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