Console.MoveBufferArea方法用于将指定的屏幕区域移动到目标区域。
Syntax: public static void MoveBufferArea (int sourceLeft, int sourceTop, int sourceWidth, int sourceHeight, int targetLeft, int targetTop);
Parameters:
sourceLeft: The leftmost column of the source area.
sourceTop: The topmost row of the source area.
sourceWidth: The number of columns in the source area.
sourceHeight: The number of rows in the source area.
targetLeft: The leftmost column of the destination area.
targetTop: The topmost row of the destination area.
例外情况:
- ArgumentOutOfRangeException:
- 一个或多个参数小于零。
- 如果sourceLeft或targetLeft大于或等于BufferWidth。
- 如果sourceTop或targetTop大于或等于BufferHeight。
- 如果sourceTop + sourceHeight大于或等于BufferHeight。
- 如果sourceLeft + sourceWidth大于或等于BufferWidth。
- IOException :如果发生I / O错误。
范例1:
// C# program to print GeeksForGeeks
using System;
namespace GFG {
class Program {
static void Main(string[] args)
{
Console.WriteLine("GeeksForGeeks");
}
}
}
输出:
范例2:
// C# program to change area
// of GeeksForGeeks
using System;
namespace GFG {
class Program {
static void Main(string[] args)
{
Console.WriteLine("GeeksForGeeks");
// using the method
Console.MoveBufferArea(0, 0, Console.BufferWidth,
Console.BufferHeight, 10, 10);
}
}
}
输出:
笔记:
- 查看输出图像中文本位置的差异。
- 如果目标和源参数指定的位置位于当前屏幕缓冲区边界之外,则仅复制源区域中适合目标区域的部分。即,源区域被裁剪以适合当前的屏幕缓冲区。
- MoveBufferArea方法将源区域复制到目标区域。如果目标区域不与源区域相交,则源区域将使用当前的前景色和背景色填充空白。否则,源区域的相交部分将不被填充。
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.console.movebufferarea?view=netframework-4.7.2