This topic has not yet been rated - Rate this topic

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.

  Name Description
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Static member GetFormat(Int32) Returns a DataFormats.Format with the Windows Clipboard numeric ID and name for the specified ID.
Public method Static member GetFormat(String) Returns a DataFormats.Format with the Windows Clipboard numeric ID and name for the specified format.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public field Static member Bitmap Specifies a Windows bitmap format. This static field is read-only.
Public field Static member CommaSeparatedValue Specifies 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 field Static member Dib Specifies the Windows device-independent bitmap (DIB) format. This static field is read-only.
Public field Static member Dif Specifies the Windows Data Interchange Format (DIF), which Windows Forms does not directly use. This static field is read-only.
Public field Static member EnhancedMetafile Specifies the Windows enhanced metafile format. This static field is read-only.
Public field Static member FileDrop Specifies the Windows file drop format, which Windows Forms does not directly use. This static field is read-only.
Public field Static member Html Specifies text in the HTML Clipboard format. This static field is read-only.
Public field Static member Locale Specifies the Windows culture format, which Windows Forms does not directly use. This static field is read-only.
Public field Static member MetafilePict Specifies the Windows metafile format, which Windows Forms does not directly use. This static field is read-only.
Public field Static member OemText Specifies the standard Windows original equipment manufacturer (OEM) text format. This static field is read-only.
Public field Static member Palette Specifies the Windows palette format. This static field is read-only.
Public field Static member PenData Specifies 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 field Static member Riff Specifies the Resource Interchange File Format (RIFF) audio format, which Windows Forms does not directly use. This static field is read-only.
Public field Static member Rtf Specifies text consisting of Rich Text Format (RTF) data. This static field is read-only.
Public field Static member Serializable Specifies a format that encapsulates any type of Windows Forms object. This static field is read-only.
Public field Static member StringFormat Specifies the Windows Forms string class format, which Windows Forms uses to store string objects. This static field is read-only.
Public field Static member SymbolicLink Specifies the Windows symbolic link format, which Windows Forms does not directly use. This static field is read-only.
Public field Static member Text Specifies the standard ANSI text format. This static field is read-only.
Public field Static member Tiff Specifies the Tagged Image File Format (TIFF), which Windows Forms does not directly use. This static field is read-only.
Public field Static member UnicodeText Specifies the standard Windows Unicode text format. This static field is read-only.
Public field Static member WaveAudio Specifies 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, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ