Поделиться через


Поддержка операций перетаскивания и работа с буфером обмена

Вы можете активировать операции перетаскивания мышью в приложении под управлением Windows, обрабатывая ряд событий, таких как события DragEnter, DragLeaveи DragDrop.

Вы также можете реализовать поддержку вырезания, копирования и вставки, а также перенос пользовательских данных в буфер обмена в приложениях под управлением Windows посредством простых вызовов методов.

Совместимость .NET 10

Начиная с .NET 9, BinaryFormatter был удален из среды выполнения из-за уязвимостей безопасности. Это удаление сломало буфер обмена и операции перетаскивания для пользовательских объектов, создавая пробел в функциональности для приложений Windows Forms.

.NET 10 устраняет эту проблему, введя новые API, которые восстанавливают буфер обмена и функции перетаскивания, повышая безопасность, обработку ошибок и совместимость между процессами. Эти API используют сериализацию JSON и предоставляют методы, безопасные для операций с данными.

К ключевым улучшениям в .NET 10 относятся:

  • Типобезопасное извлечение данных с помощью методов, которые обеспечивают улучшенную обработку ошибок.
  • Сериализация JSON для пользовательских типов с помощью SetDataAsJson<T>() методов.
  • Встроенная поддержка распространенных типов данных без двоичной сериализации.

Для получения подробных рекомендаций по обновлению ваших приложений, см. изменения в буфере обмена и функции перетаскивания в .NET 10.

В этом разделе

Пошаговое руководство: выполнение drag-and-drop операции в Windows Forms
Объясняет, как запустить операцию перетаскивания.

Как выполнять операции перетаскивания между приложениями
Иллюстрирует выполнение операций перетаскивания между приложениями.

Как добавить данные в буфер обмена
Описывает, как программным способом вставлять сведения в буфер обмена, включая новые API-интерфейсы с безопасностью типов, доступные в .NET 10.

Как извлечь данные из буфера обмена
Описывает, как получить доступ к данным, хранящимся в буфере обмена, используя как устаревшие методы, так и новые методы, TryGetData<T>() безопасные для типов.

Изменения буфера обмена и перетаскивания в .NET 10
Полное руководство по переносу кода, работающего с буфером обмена и функцией перетаскивания, на новые API .NET 10 для понимания удаления BinaryFormatter.

Функциональность Перетаскивания в Windows Forms
Описывает методы, события и классы, используемые для реализации функции перетаскивания.

QueryContinueDrag Описывает тонкости события, которое запрашивает разрешение на продолжение операции перетаскивания.

DoDragDrop Описывает сложности метода, который имеет важное значение для начала операции перетаскивания.

Clipboard См. также Как: Отправить данные в активный дочерний элемент MDI.