Console.SetCursorPosition(Int32, Int32) Methode

Definitie

Hiermee stelt u de positie van de cursor in.

public:
 static void SetCursorPosition(int left, int top);
[System.Runtime.Versioning.UnsupportedOSPlatform("android")]
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public static void SetCursorPosition(int left, int top);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static void SetCursorPosition(int left, int top);
public static void SetCursorPosition(int left, int top);
[<System.Runtime.Versioning.UnsupportedOSPlatform("android")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
static member SetCursorPosition : int * int -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member SetCursorPosition : int * int -> unit
static member SetCursorPosition : int * int -> unit
Public Shared Sub SetCursorPosition (left As Integer, top As Integer)

Parameters

left
Int32

De kolompositie van de cursor. Kolommen worden genummerd van links naar rechts vanaf 0.

top
Int32

De rijpositie van de cursor. Rijen worden genummerd van boven naar beneden vanaf 0.

Kenmerken

Uitzonderingen

left of top kleiner is dan nul.

– of –

left is groter dan of gelijk aan BufferWidth.

– of –

top is groter dan of gelijk aan BufferHeight.

De gebruiker is niet gemachtigd om deze actie uit te voeren.

Er is een I/O-fout opgetreden.

Voorbeelden

In dit voorbeeld ziet u de CursorLeft eigenschappen en CursorTop de SetCursorPosition en Clear methoden. In het voorbeeld wordt de cursor geplaatst, die bepaalt waar de volgende schrijfbewerking plaatsvindt, om een rechthoek van 5 tekens met 5 tekens te tekenen met behulp van een combinatie van tekenreeksen '+', '|' en '-'. Houd er rekening mee dat de rechthoek met minder stappen kan worden getekend met behulp van een combinatie van andere tekenreeksen.

// 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.
open System

// Clear the screen, then save the top and left coordinates.
Console.Clear()
let origRow = Console.CursorTop
let origCol = Console.CursorLeft

let writeAt s x y =
    try
        Console.SetCursorPosition(origCol + x, origRow + y)
        printfn $"%s{s}"
    with :? ArgumentOutOfRangeException as e ->
        Console.Clear()
        printfn $"{e.Message}"

// 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
printfn ""


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

Opmerkingen

Gebruik de SetCursorPosition methode om op te geven waar de volgende schrijfbewerking in het consolevenster moet worden gestart. Als de opgegeven cursorpositie zich buiten het gebied bevindt dat momenteel zichtbaar is in het consolevenster, wordt de oorsprong van het venster automatisch gewijzigd om de cursor zichtbaar te maken.

De cursor wordt automatisch naar de volgende tekenpositie verplaatst telkens wanneer een teken naar het consolevenster wordt geschreven. Als de cursor zich rechtsonder in het consolevenster bevindt, zorgt de volgende schrijfbewerking ervoor dat het consolevenster schuift, zodat de cursor zichtbaar blijft. Als u een teken naar de positie rechtsonder wilt schrijven zonder dat het consolevenster hoeft te schuiven, gebruikt u de MoveBufferArea methode om een teken naar die positie te verplaatsen.

Van toepassing op