.NET Framework 中的 DataObject
在 .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); } }
------------------------------------
承接
**视觉检测软件开发及调试
**工业软件开发
**上位机软件开发
wechat:luoran2024
qq:565934058
email:taoyuansu@qq.com
海量教育资源及影视资源下载
微信公众号:EFun科技
------------------------------------

浙公网安备 33010602011771号