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


DataFormats Класс

Определение

Предоставляет static, предопределенные имена формата Clipboard. Используйте их для для обозначения формата данных, хранимых в IDataObject.

public ref class DataFormats
public ref class DataFormats abstract sealed
public class DataFormats
public static class DataFormats
type DataFormats = class
Public Class DataFormats
Наследование
DataFormats

Примеры

В следующем примере кода создается новый формат данных с именем myFormat. Затем код создает объект , MyNewObject который хранится в DataObject. Копируется DataObject в Clipboard.

DataObject Затем извлекается из Clipboard и MyNewObject восстанавливается . Значение MyNewObject выводится в текстовом поле. Для этого кода требуется, чтобы textBox1 он был создан и помещен в форму.

#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>

using namespace System;
using namespace System::Windows::Forms;

// Creates a new type.

[Serializable]
public ref class MyNewObject: public Object
{
private:
   String^ myValue;

public:

   // Creates a default constructor for the class.
   MyNewObject()
   {
      myValue = "This is the value of the class";
   }


   property String^ MyObjectValue 
   {

      // Creates a property to retrieve or set the value.
      String^ get()
      {
         return myValue;
      }

      void set( String^ value )
      {
         myValue = value;
      }

   }

};

public ref class MyClass: public Form
{
protected:
   TextBox^ textBox1;

public:
   void MyClipboardMethod()
   {
      
      // Creates a new data format.
      DataFormats::Format^ myFormat = DataFormats::GetFormat( "myFormat" );
      
      /* Creates a new object and stores it in a DataObject using myFormat 
               * as the type of format. */
      MyNewObject^ myObject = gcnew MyNewObject;
      DataObject^ myDataObject = gcnew DataObject( myFormat->Name,myObject );
      
      // Copies myObject into the clipboard.
      Clipboard::SetDataObject( myDataObject );
      
      // Performs some processing steps.
      // Retrieves the data from the clipboard.
      IDataObject^ myRetrievedObject = Clipboard::GetDataObject();
      
      // Converts the IDataObject type to MyNewObject type. 
      MyNewObject^ myDereferencedObject = dynamic_cast<MyNewObject^>(myRetrievedObject->GetData( myFormat->Name ));
      
      // Prints the value of the Object in a textBox.
      textBox1->Text = myDereferencedObject->MyObjectValue;
   }

};
using System;
using System.Windows.Forms;

public class MyClass : Form {
    protected TextBox textBox1;
    
    public void MyClipboardMethod() {
       // Creates a new data format.
       DataFormats.Format myFormat = DataFormats.GetFormat("myFormat");
       
       /* Creates a new object and stores it in a DataObject using myFormat 
        * as the type of format. */
       MyNewObject myObject = new MyNewObject();
       DataObject myDataObject = new DataObject(myFormat.Name, myObject);
 
       // Copies myObject into the clipboard.
       Clipboard.SetDataObject(myDataObject);
 
       // Performs some processing steps.
 
       // Retrieves the data from the clipboard.
       IDataObject myRetrievedObject = Clipboard.GetDataObject();
 
       // Converts the IDataObject type to MyNewObject type. 
       MyNewObject myDereferencedObject = (MyNewObject)myRetrievedObject.GetData(myFormat.Name);
 
       // Prints the value of the Object in a textBox.
       textBox1.Text = myDereferencedObject.MyObjectValue;
    }
 }
 
 // Creates a new type.
 [Serializable]
 public class MyNewObject : Object {
    private string myValue;
 
    // Creates a default constructor for the class.
    public MyNewObject() {
       myValue = "This is the value of the class";
    }
 
    // Creates a property to retrieve or set the value.
    public string MyObjectValue {
       get {
          return myValue;
       }
       set {
          myValue = value;
       }
    }
 }
Option Explicit
Option Strict

Imports System.Windows.Forms

Public Class MyClass1
    Inherits Form
    Private textBox1 As TextBox

    Public Sub MyClipboardMethod()
        ' Creates a new data format.
        Dim myFormat As DataFormats.Format = _
            DataFormats.GetFormat("myFormat")
        
        ' Creates a new object and store it in a DataObject using myFormat 
        ' as the type of format. 
        Dim myObject As New MyNewObject()
        Dim myDataObject As New DataObject(myFormat.Name, myObject)
        
        ' Copies myObject into the clipboard.
        Clipboard.SetDataObject(myDataObject)
        
        ' Performs some processing steps.
        ' Retrieves the data from the clipboard.
        Dim myRetrievedObject As IDataObject = Clipboard.GetDataObject()
        
        ' Converts the IDataObject type to MyNewObject type. 
        Dim myDereferencedObject As MyNewObject = _
            CType(myRetrievedObject.GetData(myFormat.Name), MyNewObject)
        
        ' Print the value of the Object in a textBox.
        textBox1.Text = myDereferencedObject.MyObjectValue
    End Sub
End Class


' Creates a new type.
<Serializable()> Public Class MyNewObject
    Inherits Object
    Private myValue As String
    
    
    ' Creates a default constructor for the class.
    Public Sub New()
        myValue = "This is the value of the class"
    End Sub
    
    ' Creates a property to retrieve or set the value.
    
    Public Property MyObjectValue() As String
        Get
            Return myValue
        End Get
        Set
            myValue = value
        End Set
    End Property
End Class

Комментарии

Классы IDataObject и также используют static список форматов для определения типа данных, которые извлекаются из системы Clipboardили передаются в ходе DataObject операции перетаскивания.

Метод GetFormat позволяет:

  • Получение предопределенного DataFormats.Format объекта для имени формата или идентификатора.

  • Добавьте в список в этом классе новую пару static "имя формата-идентификатор", чтобы зарегистрировать формат в реестре Clipboard Windows в качестве формата при передаче имени формата.

Число или формат можно получить Id из соответствующего свойства в экземпляре DataFormats.Format .Name

Поля

Bitmap

Задает формат точечного рисунка Windows. Это статическое (static) поле доступно только для чтения.

CommaSeparatedValue

Задает формат значений, разделенных запятой (comma-separated value, CSV), являющийся общепринятым форматом, используемым для обмена между программами электронных таблиц. Этот формат не используется непосредственно формами Windows Forms. Это статическое (static) поле доступно только для чтения.

Dib

Задает формат аппаратно-независимых точечных рисунков Windows (Device Independent Bitmap, DIB). Это статическое (static) поле доступно только для чтения.

Dif

Задает формат обмена данными Windows (Data Interchange Format, DIF), который формы Windows Forms напрямую не используют. Это статическое (static) поле доступно только для чтения.

EnhancedMetafile

Задает формат расширенного метафайла Windows. Это статическое (static) поле доступно только для чтения.

FileDrop

Задает формат обмена данными Windows, который формы Windows Forms напрямую не используют. Это статическое (static) поле доступно только для чтения.

Html

Задает текст в формате буфера HTML. Это статическое (static) поле доступно только для чтения.

Locale

Задает формат языка и региональных параметров Windows, который формы Windows Forms напрямую не используют. Это статическое (static) поле доступно только для чтения.

MetafilePict

Задает формат метафайла Windows, который формы Windows Forms напрямую не используют. Это статическое (static) поле доступно только для чтения.

OemText

Задает стандартный текстовый формат системы поставщиков основного оборудования (original equipment manufacturer, OEM) Windows. Это статическое (static) поле доступно только для чтения.

Palette

Задает формат палитры Windows. Это статическое (static) поле доступно только для чтения.

PenData

Задает формат данных пера Windows, который состоит из штрихов пера для программного обеспечения ручного письма; формы Windows Forms не используют этот формат. Это статическое (static) поле доступно только для чтения.

Riff

Задает звуковой формат файла обмена ресурсами Windows (Resource Interchange File Format, RIFF), который формы Windows Forms напрямую не используют. Это статическое (static) поле доступно только для чтения.

Rtf

Задает текст, состоящий из данных формата Rich Text Format (RTF). Это статическое (static) поле доступно только для чтения.

Serializable

Задает формат, инкапсулирующий любой тип объекта форм Windows Forms. Это статическое (static) поле доступно только для чтения.

StringFormat

Задает формат строкового класса форм Windows Forms, который формы Windows Forms используют для хранения строковых объектов. Это статическое (static) поле доступно только для чтения.

SymbolicLink

Задает формат символической ссылки Windows, который формы Windows Forms напрямую не используют. Это статическое (static) поле доступно только для чтения.

Text

Задает стандартный текстовый формат ANSI. Это статическое (static) поле доступно только для чтения.

Tiff

Задает теговый формат файла изображения Windows (Tagged Image File Format, TIFF), который формы Windows Forms напрямую не используют. Это статическое (static) поле доступно только для чтения.

UnicodeText

Задает стандартный текстовый формат Windows Unicode. Это статическое (static) поле доступно только для чтения.

WaveAudio

Задает формат WAV, который Win Forms напрямую не использует. Это статическое (static) поле доступно только для чтения.

Методы

GetFormat(Int32)

Возвращает DataFormats.Format с цифровым идентификатором буфера обмена Windows и именем указанного идентификатора.

GetFormat(String)

Возвращает DataFormats.Format с цифровым идентификатором буфера обмена Windows и именем указанного формата.

Применяется к

См. также раздел