找回密码
 立即注册
首页 业界区 业界 .NET Framework 中的 DataObject

.NET Framework 中的 DataObject

胰芰 昨天 20:25
  在 .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 等,使得处理特定格式的数据更加方便。
    同样支持多种数据格式和自动转换。
  1. protected override void OnMouseMove(MouseEventArgs e)
  2. {
  3.     base.OnMouseMove(e);
  4.     if (e.LeftButton == MouseButtonState.Pressed)
  5.     {
  6.         // Package the data.
  7.         DataObject data = new DataObject();
  8.         data.SetData(DataFormats.StringFormat, circleUI.Fill.ToString());
  9.         data.SetData("Double", circleUI.Height);
  10.         data.SetData("Object", this);
  11.         // Initiate the drag-and-drop operation.
  12.         DragDrop.DoDragDrop(this, data, DragDropEffects.Copy | DragDropEffects.Move);
  13.     }
  14. }
复制代码
 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册