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 Затем извлекается из ClipboardMyNewObject и восстанавливается. Значение печатается 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 Кроме DataObject того, классы используют static список форматов для определения типа данных, полученных из системы Clipboardили передаваемых в операции перетаскивания.

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

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

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

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

Поля

Имя Описание
Bitmap

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

CommaSeparatedValue

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

Dib

Указывает формат Windows независимо от устройства растрового изображения (DIB). Это static поле доступно только для чтения.

Dif

Указывает формат обмена данными Windows (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

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

Palette

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

PenData

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

Riff

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

Rtf

Задает текст, состоящий из данных RTF. Это static поле доступно только для чтения.

Serializable

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

StringFormat

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

SymbolicLink

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

Text

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

Tiff

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

UnicodeText

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

WaveAudio

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

Методы

Имя Описание
GetFormat(Int32)

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

GetFormat(String)

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

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

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