Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Console.SetCursorPosition (Int32, Int32)

 

Publicado: noviembre de 2016

Establece la posición del cursor.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public static void SetCursorPosition(
	int left,
	int top
)

Parámetros

left
Type: System.Int32

Posición en columnas del cursor. Las columnas se numeran de izquierda a derecha a partir de 0.

top
Type: System.Int32

Posición en filas del cursor. Las filas se numeran de arriba abajo a partir de 0.

Exception Condition
ArgumentOutOfRangeException

left o top es menor que cero.

O bien

left es mayor o igual que BufferWidth.

O bien

top es mayor o igual que BufferHeight.

SecurityException

El usuario no tiene permiso para realizar esta acción.

IOException

Error de E/S.

Use la SetCursorPosition método para especificar que la siguiente operación de escritura en la ventana de consola se va a comenzar. Si la posición del cursor especificado está fuera del área que está actualmente visible en la ventana de consola, el origen de la ventana cambia automáticamente para hacer visible el cursor.

El cursor se desplaza automáticamente a la siguiente posición de carácter cada vez que se escribe un carácter en la ventana de consola. Si el cursor está en la posición de carácter derecha de la parte inferior de la ventana de consola, la siguiente operación de escritura provocará la ventana de consola para desplazarse por lo que el cursor permanece visible. Si desea escribir un carácter en la posición de carácter de la derecha inferior sin causar que la ventana de consola para desplazarse, use la MoveBufferArea método para moverse un carácter a esa posición.

Este ejemplo se muestra la CursorLeft y CursorTop propiedades y la SetCursorPosition y Clear métodos. En el ejemplo se coloca el cursor, que determina dónde se producirá la siguiente operación de escritura, para dibujar un carácter 5 rectángulo por 5 caracteres utilizando una combinación de "+", "|", y "-" cadenas. Tenga en cuenta que el rectángulo se podría dibujar con menos pasos mediante una combinación de otras cadenas.

// 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!

*/

UIPermission

for modifying safe top-level windows and subwindows. Associated enumeration: F:System.Security.Permissions.UIPermissionWindow.SafeTopLevelWindows

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: