Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Console.MoveBufferArea() 메서드 완벽 정리 - 화면 버퍼 영역 이동 방법

C#의 Console.MoveBufferArea() 메서드는 콘솔 화면 버퍼에서 지정된 원본(source) 영역을 지정된 대상(target) 영역으로 복사·이동할 때 사용되는 메서드입니다. 콘솔 애플리케이션에서 화면의 특정 영역을 다른 위치로 옮겨야 할 때 유용하게 활용할 수 있습니다.

메서드 구문(Syntax)

Console.MoveBufferArea() 메서드의 기본 구문은 다음과 같습니다.

public static void MoveBufferArea(int sourceLeft, int sourceTop, int sourceWidth, int sourceHeight, int targetLeft, int targetTop);

각 매개변수의 의미는 아래와 같습니다.

  • sourceLeft : 이동할 원본 영역의 가장 왼쪽 열(column) 위치
  • sourceTop : 이동할 원본 영역의 가장 위쪽 행(row) 위치
  • sourceWidth : 원본 영역의 너비(열 개수)
  • sourceHeight : 원본 영역의 높이(행 개수)
  • targetLeft : 이동될 대상 영역의 가장 왼쪽 열 위치
  • targetTop : 이동될 대상 영역의 가장 위쪽 행 위치

즉, 원본 영역의 시작 좌표(left, top)와 크기(width, height), 그리고 대상 영역의 시작 좌표(left, top)를 지정하면 해당 영역이 통째로 이동합니다.

사용 예제(Example)

다음은 C#에서 Console.MoveBufferArea() 메서드를 실제로 사용하는 예제 코드입니다.

using System;
class Demo {
    public static void Main(string[] args) {
        Console.WriteLine("Demo text!");
        Console.MoveBufferArea(0, 0, Console.BufferWidth, Console.BufferHeight, 20, 20);
    }
}

위 코드를 살펴보면 먼저 "Demo text!"라는 문자열을 콘솔에 출력한 후, MoveBufferArea() 메서드를 호출하여 전체 화면 버퍼(Console.BufferWidth, Console.BufferHeight)를 오른쪽으로 20칸, 아래로 20행 이동시키고 있습니다.

실행 결과(Output)

위 프로그램을 실행하면 출력된 텍스트가 지정된 대상 위치(20, 20)로 이동된 것을 확인할 수 있습니다.

C# Console.MoveBufferArea() 메서드 완벽 정리 - 화면 버퍼 영역 이동 방법

참고 사항

MoveBufferArea() 메서드는 Windows 환경의 콘솔에서만 동작하며, 일부 운영체제나 리디렉션된 출력 환경에서는 PlatformNotSupportedException이 발생할 수 있습니다. 또한 매개변수 값이 화면 버퍼 범위를 벗어나면 ArgumentOutOfRangeException이 발생하므로, 좌표와 크기를 지정할 때 버퍼 크기를 고려해야 합니다.