Export (0) Print
Expand All

DataFormats Class

Provides static, predefined Clipboard format names. Use them to identify the format of data that you store in an IDataObject.

System.Object
  System.Windows.Forms.DataFormats

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public class DataFormats

The DataFormats type exposes the following members.

  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodStatic memberGetFormat(Int32)Returns a DataFormats.Format with the Windows Clipboard numeric ID and name for the specified ID.
Public methodStatic memberGetFormat(String)Returns a DataFormats.Format with the Windows Clipboard numeric ID and name for the specified format.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public fieldStatic memberBitmapSpecifies a Windows bitmap format. This static field is read-only.
Public fieldStatic memberCommaSeparatedValueSpecifies a comma-separated value (CSV) format, which is a common interchange format used by spreadsheets. This format is not used directly by Windows Forms. This static field is read-only.
Public fieldStatic memberDibSpecifies the Windows device-independent bitmap (DIB) format. This static field is read-only.
Public fieldStatic memberDifSpecifies the Windows Data Interchange Format (DIF), which Windows Forms does not directly use. This static field is read-only.
Public fieldStatic memberEnhancedMetafileSpecifies the Windows enhanced metafile format. This static field is read-only.
Public fieldStatic memberFileDropSpecifies the Windows file drop format, which Windows Forms does not directly use. This static field is read-only.
Public fieldStatic memberHtmlSpecifies text in the HTML Clipboard format. This static field is read-only.
Public fieldStatic memberLocaleSpecifies the Windows culture format, which Windows Forms does not directly use. This static field is read-only.
Public fieldStatic memberMetafilePictSpecifies the Windows metafile format, which Windows Forms does not directly use. This static field is read-only.
Public fieldStatic memberOemTextSpecifies the standard Windows original equipment manufacturer (OEM) text format. This static field is read-only.
Public fieldStatic memberPaletteSpecifies the Windows palette format. This static field is read-only.
Public fieldStatic memberPenDataSpecifies the Windows pen data format, which consists of pen strokes for handwriting software; Windows Forms does not use this format. This static field is read-only.
Public fieldStatic memberRiffSpecifies the Resource Interchange File Format (RIFF) audio format, which Windows Forms does not directly use. This static field is read-only.
Public fieldStatic memberRtfSpecifies text consisting of Rich Text Format (RTF) data. This static field is read-only.
Public fieldStatic memberSerializableSpecifies a format that encapsulates any type of Windows Forms object. This static field is read-only.
Public fieldStatic memberStringFormatSpecifies the Windows Forms string class format, which Windows Forms uses to store string objects. This static field is read-only.
Public fieldStatic memberSymbolicLinkSpecifies the Windows symbolic link format, which Windows Forms does not directly use. This static field is read-only.
Public fieldStatic memberTextSpecifies the standard ANSI text format. This static field is read-only.
Public fieldStatic memberTiffSpecifies the Tagged Image File Format (TIFF), which Windows Forms does not directly use. This static field is read-only.
Public fieldStatic memberUnicodeTextSpecifies the standard Windows Unicode text format. This static field is read-only.
Public fieldStatic memberWaveAudioSpecifies the wave audio format, which Windows Forms does not directly use. This static field is read-only.
Top

The IDataObject and DataObject classes also use the static format list to determine the type of data that is retrieved from the system Clipboard, or that is transferred in a drag-and-drop operation.

The GetFormat method allows you to:

  • Get a predefined DataFormats.Format object for a format name or ID number.

  • Add a new format name/ID number pair to the static list in this class, and to register the format with the Windows registry as a Clipboard format when you pass it the format name.

You can get the Id number or format Name from the appropriate property in the DataFormats.Format instance.

The following code example creates a new data format named myFormat. The code then creates a MyNewObject which it stores in a DataObject. The DataObject is copied to the Clipboard.

Next, the DataObject is retrieved from the Clipboard and the MyNewObject is recovered. The value of the MyNewObject is printed in a text box. This code requires that textBox1 has been created and placed on a form.

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

 

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft