일련의 이벤트, 특히 DragEnter, DragLeave 및 DragDrop 이벤트를 처리하여 Windows 기반 애플리케이션에서 사용자 끌어서 놓기 작업을 사용하도록 설정할 수 있습니다.
간단한 메서드 호출을 사용하여 Windows 기반 애플리케이션 내에서 클립보드로 사용자 데이터 전송 및 사용자 잘라내기/복사/붙여넣기 지원을 구현할 수도 있습니다.
.NET 10 호환성
.NET 9 BinaryFormatter 부터 보안 취약성으로 인해 런타임에서 제거되었습니다. 이 제거는 사용자 지정 개체에 대한 클립보드 및 끌어서 놓기 작업을 중단하여 Windows Forms 애플리케이션에 대한 기능 격차를 만듭니다.
.NET 10은 보안, 오류 처리 및 프로세스 간 호환성을 향상하면서 클립보드 및 끌어서 놓기 기능을 복원하는 새로운 API를 도입하여 이 문제를 해결합니다. 이러한 API는 JSON serialization을 사용하고 데이터 작업에 형식이 안전한 메서드를 제공합니다.
.NET 10의 주요 개선 사항은 다음과 같습니다.
- 더 나은 오류 처리를 제공하는 메서드를 사용하여
TryGetData<T>() - 사용자 지정 형식에 대한 JSON 직렬화는
SetDataAsJson<T>()메서드를 사용합니다. - 기본 제공 지원은 직렬화 없이도 일반적인 데이터 형식에 대한 이진화가 필요하지 않습니다.
애플리케이션 업데이트에 대한 포괄적인 지침은 .NET 10의 클립보드 및 끌어서 놓기 변경 내용을 참조하세요.
이 섹션 안에
연습: Windows Forms에서 끌어서 놓기 작업 수행
끌어서 놓기 작업을 시작하는 방법을 설명합니다.
방법: 애플리케이션 간에 끌어서 놓기 작업 수행
애플리케이션 간에 끌어서 놓기 작업을 수행하는 방법을 보여 줍니다.
방법: 클립보드에 데이터 추가
.NET 10에서 사용할 수 있는 새 형식 안전 API를 포함하여 클립보드에 정보를 프로그래밍 방식으로 삽입하는 방법을 설명합니다.
방법: 클립보드에서 데이터 검색
레거시 메서드와 형식이 안전한 TryGetData<T>() 새 메서드를 모두 사용하여 클립보드에 저장된 데이터에 액세스하는 방법을 설명합니다.
.NET 10의 클립보드 및 끌어서 놓기 변경 내용
포괄적인 가이드: 클립보드 및 드래그 앤 드롭 코드를 새 .NET 10 API로 마이그레이션하고 BinaryFormatter 제거를 이해하는 방법.
관련 섹션
Windows Forms에서의 끌어서 놓기 기능
끌어서 놓기 동작을 구현하는 데 사용되는 메서드, 이벤트 및 클래스를 설명합니다.
QueryContinueDrag 끌기 작업을 계속할 수 있는 권한을 요청하는 이벤트의 복잡성에 대해 설명합니다.
DoDragDrop 끌기 작업을 시작하는 데 핵심적인 메서드의 복잡성을 설명합니다.
Clipboard 또한 방법: 활성 MDI 자식에 데이터 보내기를 참조하세요.
.NET Desktop feedback