Freigeben über


DataFormats-Klasse

Stellt Clipboard-Formatnamen bereit, die static und vordefiniert sind. Mit diesen können Sie das Format von Daten festlegen, die Sie in IDataObject speichern.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Class DataFormats
'Usage
Dim instance As DataFormats
public class DataFormats
public ref class DataFormats
public class DataFormats
public class DataFormats

Hinweise

Die IDataObject-Klasse und die DataObject-Klasse bestimmen ebenfalls anhand der static-Formatliste den Typ der Daten, die aus dem Clipboard des Systems abgerufen oder in einer Drag & Drop-Operation übertragen werden.

Mit der GetFormat-Methode können Sie folgende Aktionen ausführen:

  • Abrufen eines vordefinierten DataFormats.Format-Objekts für einen Formatnamen oder eine ID-Nummer.

  • Aufnehmen eines neuen Formatname-/ID-Nummern-Paars in die static-Liste in dieser Klasse. Beim Übergeben des Formatnamens kann das Format außerdem in der Windows-Registrierung als Clipboard-Format registriert werden.

Die Id-Nummer bzw. der Name des Formats können in der DataFormats.Format-Instanz aus der entsprechenden Eigenschaft abgerufen werden.

Beispiel

Im folgenden Codebeispiel wird das neue Datenformat myFormat erstellt. Anschließend wird durch den Code MyNewObject erstellt und in DataObject gespeichert. DataObject wird in Clipboard kopiert.

Dann wird DataObject aus Clipboard abgerufen und MyNewObject wiederhergestellt. Der Wert von MyNewObject wird in einem Textfeld ausgegeben. Für diesen Code muss textBox1 zuvor in einem Formular erstellt und platziert werden.

Option Explicit
Option Strict

Imports System
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 'MyClipboardMethod
End Class 'MyClass


' 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 'New
    
    ' 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 'MyNewObject
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;
       }
    }
 }

 
#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;
   }

};
import System.*;
import System.Windows.Forms.*;

public class MyClass extends 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.get_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.get_Name()));

        // Prints the value of the Object in a textBox.
        textBox1.set_Text(myDereferencedObject.get_MyObjectValue());
    } //MyClipboardMethod
} //MyClass

// Creates a new type.
/** @attribute Serializable()
 */
public class MyNewObject extends Object
{
    private String myValue;
    // Creates a default constructor for the class.
    public MyNewObject()
    {
        myValue = "This is the value of the class";
    } //MyNewObject

    // Creates a property to retrieve or set the value.
    /** @property 
     */
    public String get_MyObjectValue()
    {
        return myValue;
    } //get_MyObjectValue

    /** @property 
     */
    public void set_MyObjectValue(String value)
    {
        myValue = value;
    } //set_MyObjectValue
} //MyNewObject
import System;
import System.Windows.Forms;

public class MyClass extends Form {
    protected var textBox1 : TextBox;
    
    public function MyClipboardMethod() {
       // Create a new data format.
       var myFormat : DataFormats.Format = DataFormats.GetFormat("myFormat");
       
       /* Create a new object and store it in a DataObject import the myFormat 
        * as the type of format. */
       var myObject : MyNewObject = new MyNewObject();
       var myDataObject : DataObject = new DataObject("myFormat", myObject);
 
       // Copy myObject into the clipboard.
       Clipboard.SetDataObject(myDataObject);
 
       // Perform some processing steps.
 
       // Retrieve the data from the clipboard.
       var myRetrievedObject : IDataObject = Clipboard.GetDataObject();
 
       // Convert the IDataObject type to MyNewObject type. 
       var myDereferencedObject : MyNewObject = MyNewObject(myRetrievedObject.GetData("myFormat"));
 
       // Print the value of the Object in a textBox.
       textBox1.Text = myDereferencedObject.MyObjectValue;
    }
 }
 
 // Create a new type.
Serializable public class MyNewObject extends Object {
    private var myValue : String;
 
    // Create a default constructor for the class.
    public function MyNewObject() {
       myValue = "This is the value of the class";
    }
 
    // Create a property to retrieve or set the value.
    public function get MyObjectValue() : String {
          return myValue;
    }
       
    public function set MyObjectValue(value : String) {
          myValue = value;
    }
 }
 

Vererbungshierarchie

System.Object
  System.Windows.Forms.DataFormats

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0

Siehe auch

Referenz

DataFormats-Member
System.Windows.Forms-Namespace
Clipboard-Klasse
DataObject
DataFormats.Format
IDataObject
SetData
GetData
GetFormats
GetDataPresent
GetData
GetDataPresent
GetFormats
SetData