Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Console.Clear méthode ()

 

Date de publication : novembre 2016

Efface la mémoire tampon et la fenêtre correspondante de la console contenant les informations d'affichage.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public static void Clear()

Exception Condition
IOException

Une erreur d'E/S s'est produite.

À l’aide de la Clear méthode est équivalente à l’appel MS-DOS cls commande dans la fenêtre d’invite de commandes. Lorsque la Clear méthode est appelée, le curseur se place automatiquement à l’angle supérieur gauche de la fenêtre et le contenu de la mémoire tampon d’écran est défini avec des espaces à l’aide des couleurs d’arrière-plan de premier plan actuelle.

System_CAPS_noteRemarque

Essayez d’appeler le Clear méthode lors de la sortie d’une application console est redirigée vers un fichier lève un IOException. Pour éviter ce problème, encapsulez toujours un appel à la Clear méthode dans un try... catch bloc.

L’exemple suivant utilise la Clear méthode pour effacer la console avant d’exécuter une boucle, invite l’utilisateur pour sélectionner une couleur de premier plan et arrière-plan et entrez une chaîne à afficher. Si l’utilisateur choisit de ne pas quitter le programme, les couleurs de premier plan et arrière-plan d’origine de la console sont restaurées et le Clear méthode est appelée avant l’exécution de nouveau la boucle.

using System;

public class Example
{
   public static void Main()
   {
      // Save colors so they can be restored when use finishes input.
      ConsoleColor dftForeColor = Console.ForegroundColor;
      ConsoleColor dftBackColor = Console.BackgroundColor;
      bool continueFlag = true;
      Console.Clear();

      do { 
         ConsoleColor newForeColor = ConsoleColor.White;
         ConsoleColor newBackColor = ConsoleColor.Black;

         Char foreColorSelection = GetKeyPress("Select Text Color (B for Blue, R for Red, Y for Yellow): ", 
                                              new Char[] { 'B', 'R', 'Y' } );
         switch (foreColorSelection) {
            case 'B':
            case 'b':
               newForeColor = ConsoleColor.DarkBlue;
               break;
            case 'R':
            case 'r':
               newForeColor = ConsoleColor.DarkRed;
               break;
            case 'Y':
            case 'y':
               newForeColor = ConsoleColor.DarkYellow;
               break;   
         }
         Char backColorSelection = GetKeyPress("Select Background Color (W for White, G for Green, M for Magenta): ",
                                              new Char[] { 'W', 'G', 'M' });
         switch (backColorSelection) {
            case 'W':
            case 'w':
               newBackColor = ConsoleColor.White;
               break;
            case 'G':
            case 'g':
               newBackColor = ConsoleColor.Green;
               break;
            case 'M':
            case 'm':
               newBackColor = ConsoleColor.Magenta;
               break;   
         }

         Console.WriteLine();
         Console.Write("Enter a message to display: ");
         String textToDisplay = Console.ReadLine();
         Console.WriteLine();
         Console.ForegroundColor = newForeColor;
         Console.BackgroundColor = newBackColor;
         Console.WriteLine(textToDisplay);
         Console.WriteLine();
         if (Char.ToUpper(GetKeyPress("Display another message (Y/N): ", new Char[] { 'Y', 'N' } )) == 'N')
            continueFlag = false;

         // Restore the default settings and clear the screen.
         Console.ForegroundColor = dftForeColor;
         Console.BackgroundColor = dftBackColor;
         Console.Clear();
      } while (continueFlag);
   }

   private static Char GetKeyPress(String msg, Char[] validChars) 
   {
      ConsoleKeyInfo keyPressed;
      bool valid = false;

      Console.WriteLine();
      do {
         Console.Write(msg);
         keyPressed = Console.ReadKey();
         Console.WriteLine();
         if (Array.Exists(validChars, ch => ch.Equals(Char.ToUpper(keyPressed.KeyChar))))           
            valid = true;

      } while (! valid);
      return keyPressed.KeyChar; 
   }
}

The example relies on a GetKeyPress method to validate the user's selection of a foreground and background color.

Cet exemple illustre la CursorLeft et CursorTop propriétés et le SetCursorPosition et Clear méthodes. L’exemple positionne le curseur, qui détermine l’emplacement de l’écriture suivante, pour dessiner un rectangle de 5 caractères à l’aide d’une combinaison de 5 « + », « | », et «- » des chaînes. Notez que le rectangle pourrait être dessiné avec moins d’étapes à l’aide d’une autre combinaison de chaînes.

// This example demonstrates the 
//     Console.CursorLeft and 
//     Console.CursorTop properties, and the
//     Console.SetCursorPosition and 
//     Console.Clear methods.
using System;

class Sample 
{
    protected static int origRow;
    protected static int origCol;

    protected static void WriteAt(string s, int x, int y)
    {
    try
        {
        Console.SetCursorPosition(origCol+x, origRow+y);
        Console.Write(s);
        }
    catch (ArgumentOutOfRangeException e)
        {
        Console.Clear();
        Console.WriteLine(e.Message);
        }
    }

    public static void Main() 
    {
// Clear the screen, then save the top and left coordinates.
    Console.Clear();
    origRow = Console.CursorTop;
    origCol = Console.CursorLeft;

// Draw the left side of a 5x5 rectangle, from top to bottom.
    WriteAt("+", 0, 0);
    WriteAt("|", 0, 1);
    WriteAt("|", 0, 2);
    WriteAt("|", 0, 3);
    WriteAt("+", 0, 4);

// Draw the bottom side, from left to right.
    WriteAt("-", 1, 4); // shortcut: WriteAt("---", 1, 4)
    WriteAt("-", 2, 4); // ...
    WriteAt("-", 3, 4); // ...
    WriteAt("+", 4, 4);

// Draw the right side, from bottom to top.
    WriteAt("|", 4, 3);
    WriteAt("|", 4, 2);
    WriteAt("|", 4, 1);
    WriteAt("+", 4, 0);

// Draw the top side, from right to left.
    WriteAt("-", 3, 0); // shortcut: WriteAt("---", 1, 0)
    WriteAt("-", 2, 0); // ...
    WriteAt("-", 1, 0); // ...
//
    WriteAt("All done!", 0, 6);
    Console.WriteLine();
    }
}
/*
This example produces the following results:

+---+
|   |
|   |
|   |
+---+

All done!

*/

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: