Windows Forms에서의 끌어서 놓기 기능
업데이트: 2007년 11월
Windows Forms에는 끌어서 놓기 동작을 구현하는 메서드, 이벤트 및 클래스 집합이 포함되어 있습니다. 이 항목에서는 Windows Forms에서 제공하는 끌어서 놓기 기능에 대한 개요를 설명합니다.
끌어서 놓기 작업을 수행하려면 Control 클래스의 DoDragDrop 메서드를 사용합니다. 끌어서 놓기 작업을 수행하는 방법에 대한 자세한 내용은 DoDragDrop을 참조하십시오. 끌어서 놓기 작업을 시작하기 전에 마우스 포인터를 끌 사각형 영역을 가져오려면 SystemInformation 클래스의 DragSize 속성을 사용합니다.
끌어서 놓기 작업에는 두 가지 범주의 이벤트가 있습니다. 하나는 끌어서 놓기 작업의 현재 대상에서 발생하는 이벤트이고 또 하나는 끌어서 놓기 작업의 소스에서 발생하는 이벤트입니다.
다음 표에서는 끌어서 놓기 작업의 현재 대상에서 발생하는 이벤트를 보여 줍니다.
마우스 이벤트 |
설명 |
---|---|
이 이벤트는 개체를 컨트롤의 범위로 끌 때 발생합니다. 이 이벤트의 처리기는 DragEventArgs 형식의 인수를 받습니다. |
|
이 이벤트는 마우스 포인터가 컨트롤의 범위 안에 있는 상태에서 개체를 끌 때 발생합니다. 이 이벤트의 처리기는 DragEventArgs 형식의 인수를 받습니다. |
|
이 이벤트는 끌어서 놓기 작업을 완료했을 때 발생합니다. 이 이벤트의 처리기는 DragEventArgs 형식의 인수를 받습니다. |
|
이 이벤트는 개체를 컨트롤의 범위 밖으로 끌 때 발생합니다. 이 이벤트의 처리기는 EventArgs 형식의 인수를 받습니다. |
DragEventArgs 클래스에서는 마우스 포인터의 위치, 마우스 단추와 키보드 보조키의 현재 상태, 끌 데이터, 끌기 이벤트의 소스에서 허용되는 작업과 이 작업의 대상 놓기 효과를 지정하는 DragDropEffects 값 등을 제공합니다.
다음 표에서는 끌어서 놓기 작업의 소스에서 발생하는 이벤트를 보여 줍니다.
마우스 이벤트 |
설명 |
---|---|
이 이벤트는 끌기 작업을 수행하는 동안 발생합니다. 이 이벤트를 사용하면 끌어서 놓기 작업을 수행 중인 사용자에게 마우스 포인터 변경과 같은 시각적인 신호를 제공할 수 있습니다. 이 이벤트의 처리기는 GiveFeedbackEventArgs 형식의 인수를 받습니다. |
|
이 이벤트는 끌어서 놓기 작업을 수행하는 동안 발생하며, 이 이벤트를 사용하면 끌기 소스에서 끌어서 놓기 작업을 취소해야 하는지 여부를 결정할 수 있습니다. 이 이벤트의 처리기는 QueryContinueDragEventArgs 형식의 인수를 받습니다. |
QueryContinueDragEventArgs 클래스에서는 마우스 단추와 키보드 보조키의 현재 상태, Esc 키를 눌렀는지 여부를 지정하는 값, 끌어서 놓기 작업을 계속해야 하는지 여부를 지정할 수 있는 DragAction 값 등을 제공합니다.