首页 > 基础资料 博客日记
.NET Framework 中的 DataObject
2026-03-30 19:00:02基础资料围观2次
在 .NET Framework 中,DataObject 类是实现数据传输机制的核心组件,它为拖放、剪贴板等操作提供了与格式无关的数据传输方式。它主要有两个实现,分别位于不同的命名空间:
System.Windows.Forms.DataObject——这个类主要用于 Windows 窗体(WinForms)应用程序。
核心功能:实现 IDataObject 接口,提供一个容器来存储一种或多种格式的数据。
主要用途:在拖放操作和剪贴板交互中作为数据载体。例如,当用户从一个文本框拖拽文字到另一个文本框时,数据就被封装在一个 DataObject 中进行传递。
关键特性:
可以在一个 DataObject 实例中存储多种格式的数据(如文本、位图、自定义对象等),以增加目标应用程序成功接收数据的可能性。
支持数据的自动格式转换。例如,存储的文本数据可以被请求为 Unicode 格式。
提供了 SetData、GetData、GetDataPresent 等方法来操作数据。
System.Windows.DataObject——这个类主要用于 Windows Presentation Foundation (WPF) 应用程序。
核心功能:与 WinForms 版本类似,它也是 IDataObject 接口的基本实现,用于在 WPF 的 UI 元素之间传输数据。
主要用途:支持 WPF 中的拖放、复制、粘贴等功能。
关键特性:
提供了更现代化的 API,例如 SetText、GetText、ContainsText 等,使得处理特定格式的数据更加方便。
同样支持多种数据格式和自动转换。
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (e.LeftButton == MouseButtonState.Pressed) { // Package the data. DataObject data = new DataObject(); data.SetData(DataFormats.StringFormat, circleUI.Fill.ToString()); data.SetData("Double", circleUI.Height); data.SetData("Object", this); // Initiate the drag-and-drop operation. DragDrop.DoDragDrop(this, data, DragDropEffects.Copy | DragDropEffects.Move); } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:

