Exporter (0) Imprimer
Développer tout

Console.SetCursorPosition, méthode

Remarque : cette méthode est nouvelle dans le .NET Framework version 2.0.

Obtient la position du curseur.

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

public static void SetCursorPosition (
	int left,
	int top
)
public static void SetCursorPosition (
	int left, 
	int top
)
public static function SetCursorPosition (
	left : int, 
	top : int
)

Paramètres

left

Position de colonne du curseur.

top

Position de ligne du curseur.

Type d'exceptionCondition

ArgumentOutOfRangeException

left ou top est inférieur à zéro.

- ou -

left est supérieur ou égal à BufferWidth.

- ou -

top est supérieur ou égal à BufferHeight.

SecurityException

L'utilisateur n'a pas l'autorisation d'effectuer cette action.

IOException

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

Utilisez la méthode SetCursorPosition pour spécifier où doit commencer la prochaine opération d'écriture dans la fenêtre de console. Si la position du curseur spécifiée est à l'extérieur de la zone actuellement visible dans la fenêtre de console, l'origine de la fenêtre est automatiquement modifiée pour que le curseur apparaisse.

Le curseur se déplace automatiquement jusqu'à la position de caractère suivante chaque fois qu'un caractère est écrit dans la fenêtre de console. Si le curseur se trouve à en bas à droite de la fenêtre de console, l'opération d'écriture suivante entraîne un défilement de la fenêtre de console de telle sorte que le curseur reste visible. Si vous souhaitez écrire un caractère en bas à droite sans provoquer un défilement de la fenêtre de console, utilisez la méthode MoveBufferArea pour déplacer un caractère vers cette position.

Cet exemple illustre les propriétés CursorLeft et CursorTop, ainsi que les méthodes SetCursorPosition et Clear. L'exemple positionne le curseur, qui détermine l'emplacement de l'écriture suivante, pour dessiner un rectangle de 5 caractères sur 5 caractères à l'aide d'une combinaison de chaînes "+", "|" et "-". Notez que le rectangle pourrait être dessiné avec un moins grand nombre 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!

*/

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

import 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.get_Message());
        }
    } //WriteAt

    public static void main(String[] args)
    {
        // Clear the screen, then save the top and left coordinates.
        Console.Clear();
        origRow = Console.get_CursorTop();
        origCol = Console.get_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();
    } //main
} //Sample
/*
This example produces the following results:

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

All done!

*/

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft