Console.SetCursorPosition(Int32, Int32) Console.SetCursorPosition(Int32, Int32) Console.SetCursorPosition(Int32, Int32) Console.SetCursorPosition(Int32, Int32) Method

Définition

Définit la position du curseur.Sets the position of the cursor.

public:
 static void SetCursorPosition(int left, int top);
public static void SetCursorPosition (int left, int top);
static member SetCursorPosition : int * int -> unit
Public Shared Sub SetCursorPosition (left As Integer, top As Integer)

Paramètres

left
Int32 Int32 Int32 Int32

Position de colonne du curseur.The column position of the cursor. Les colonnes sont numérotées de gauche à droite à partir de 0.Columns are numbered from left to right starting at 0.

top
Int32 Int32 Int32 Int32

Position de ligne du curseur.The row position of the cursor. Les lignes sont numérotées de haut en bas à partir de 0.Rows are numbered from top to bottom starting at 0.

Exceptions

left ou top est inférieur à zéro.left or top is less than zero.

- ou --or- left est supérieur ou égal à BufferWidth.left is greater than or equal to BufferWidth.

ou-or- top est supérieur ou égal à BufferHeight.top is greater than or equal to BufferHeight.

L’utilisateur n’est pas autorisé à effectuer cette action.The user does not have permission to perform this action.

Une erreur d'E/S s'est produite.An I/O error occurred.

Exemples

Cet exemple illustre les CursorLeft propriétés CursorTop et, ainsi que SetCursorPosition les Clear méthodes et.This example demonstrates the CursorLeft and CursorTop properties, and the SetCursorPosition and Clear methods. L’exemple positionne le curseur, qui détermine l’emplacement où l’écriture suivante aura lieu, pour dessiner un caractère de 5 caractères sur 5 rectangle à l’aide d’une combinaison|de chaînes « + », « » et «- ».The example positions the cursor, which determines where the next write will occur, to draw a 5 character by 5 character rectangle using a combination of "+", "|", and "-" strings. Notez que le rectangle peut être dessiné avec moins d’étapes à l’aide d’une combinaison d’autres chaînes.Note that the rectangle could be drawn with fewer steps using a combination of other strings.

// This example demonstrates the 
//     Console.CursorLeft and 
//     Console.CursorTop properties, and the
//     Console.SetCursorPosition and 
//     Console.Clear methods.
using namespace System;
int origRow;
int origCol;
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 );
   }

}

int 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.
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.
Class Sample
   Protected Shared origRow As Integer
   Protected Shared origCol As Integer
   
   Protected Shared Sub WriteAt(s As String, x As Integer, y As Integer)
      Try
         Console.SetCursorPosition(origCol + x, origRow + y)
         Console.Write(s)
      Catch e As ArgumentOutOfRangeException
         Console.Clear()
         Console.WriteLine(e.Message)
      End Try
   End Sub
   
   Public Shared Sub 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()
   End Sub
End Class
'
'This example produces the following results:
'
'+---+
'|   |
'|   |
'|   |
'+---+
'
'All done!
'

Remarques

Utilisez la SetCursorPosition méthode pour spécifier l’emplacement de début de l’opération d’écriture suivante dans la fenêtre de console.Use the SetCursorPosition method to specify where the next write operation in the console window is to begin. Si la position de curseur spécifiée est en dehors de la zone actuellement visible dans la fenêtre de console, l’origine de la fenêtre change automatiquement pour rendre le curseur visible.If the specified cursor position is outside the area that is currently visible in the console window, the window origin changes automatically to make the cursor visible.

Le curseur passe automatiquement à la position de caractère suivante chaque fois qu’un caractère est écrit dans la fenêtre de console.The cursor automatically moves to the next character position each time a character is written to the console window. Si le curseur se trouve en bas à droite de la fenêtre de la console, l’opération d’écriture suivante provoque le défilement de la fenêtre de console pour que le curseur reste visible.If the cursor is at the bottom right character position of the console window, the next write operation causes the console window to scroll so the cursor remains visible. Si vous souhaitez écrire un caractère en bas à droite, sans provoquer le défilement de la fenêtre de console, utilisez la MoveBufferArea méthode pour déplacer un caractère vers cette position.If you want to write a character to the bottom right character position without causing the console window to scroll, use the MoveBufferArea method to move a character to that position.

Sécurité

UIPermission
pour modifier les fenêtres de niveau supérieur et les sous-fenêtres sécurisées.for modifying safe top-level windows and subwindows. Énumération associée:SafeTopLevelWindowsAssociated enumeration: SafeTopLevelWindows

S’applique à