System.Console.SetCursorPosition 方法
方法描述
设置光标位置。
语法定义(C# System.Console.SetCursorPosition 方法 的用法)
public static void SetCursorPosition( int left, int top )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
left | System-Int32 | 光标的列位置。 |
top | System-Int32 | 光标的行位置。 |
返回值 | void |
提示和注释
使用 SetCursorPosition 方法可指定控制台窗口中的下一次写入操作从哪个位置开始。 如果指定的光标位置位于控制台窗口中当前可见的区域之外,则窗口原点会自动更改,以使光标可见。
每次在控制台窗口中写入一个字符后,光标都会自动移动到下一个字符位置。 如果光标位于控制台窗口右下角的字符位置,下一次写入操作会使控制台窗口滚动,以使光标保持可见。 如果想在右下角的字符位置写入字符而不让控制台窗口滚动,可使用 MoveBufferArea 方法将该字符移动到该位置。
System.Console.SetCursorPosition 方法例子
注意,如果使用其他字符串的组合绘制该矩形,则绘制步骤可以更少。
// 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! */
异常
异常 | 异常描述 |
---|---|
ArgumentOutOfRangeException |
|
SecurityException | 该用户没有执行此操作的权限。 |
IOException | 发生了 I/O 错误。 |
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。