Provides methods to place data on and retrieve data from the system Clipboard. This class cannot be inherited.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Removes all data from the Clipboard.
Indicates whether there is data on the Clipboard in the WaveAudio format.
Indicates whether there is data on the Clipboard that is in the specified format or can be converted to that format.
Indicates whether there is data on the Clipboard that is in the FileDrop format or can be converted to that format.
Indicates whether there is data on the Clipboard that is in the Bitmap format or can be converted to that format.
Indicates whether there is text data on the Clipboard in the format indicated by the specified TextDataFormat value.
Determines whether the specified object is equal to the current object.(Inherited from Object.)
Retrieves an audio stream from the Clipboard.
Retrieves data from the Clipboard in the specified format.
Retrieves the data that is currently on the system Clipboard.
Retrieves a collection of file names from the Clipboard.
Serves as the default hash function. (Inherited from Object.)
Retrieves an image from the Clipboard.
Retrieves text data from the Clipboard in the format indicated by the specified TextDataFormat value.
Clears the Clipboard and then adds data in the specified format.
Clears the Clipboard and then places nonpersistent data on it.
Clears the Clipboard and then places data on it and specifies whether the data should remain after the application exits.
|SetDataObject(Object, Boolean, Int32, Int32)|
Clears the Clipboard and then attempts to place data on it the specified number of times and with the specified delay between attempts, optionally leaving the data on the Clipboard after the application exits.
Clears the Clipboard and then adds a collection of file names in the FileDrop format.
Clears the Clipboard and then adds text data in the format indicated by the specified TextDataFormat value.
Returns a string that represents the current object.(Inherited from Object.)
For a list of predefined formats to use with the DataFormats class.class, see the
Call SetDataObject to put data on the Clipboard, replacing its current contents. To place a persistent copy of the data on the Clipboard, set the copy parameter to true.
To place data on the Clipboard in multiple formats, use the DataObject class or an IDataObject implementation. Place data on the Clipboard in multiple formats to maximize the possibility that a target application, whose format requirements you might not know, can successfully retrieve the data.
Call GetDataObject to retrieve data from the Clipboard. The data is returned as an object that implements the IDataObject interface. Use the methods specified by IDataObject and fields in DataFormats to extract the data from the object. If you do not know the format of the data you retrieved, call the GetFormats method of the IDataObject interface to get a list of all formats that data is stored in. Then call the GetData method of the IDataObject interface, and specify a format that your application can use.
In .NET Framework 2.0, the Clear method to remove all data from the Clipboard. To add data of a particular format to the Clipboard, replacing the existing data, call the appropriate SetFormat method, such as SetText, or call the SetData method to specify the format. To retrieve data of a particular format from the Clipboard, first call the appropriate ContainsFormat method (such as ContainsText) method to determine whether the Clipboard contains data in that format, and then call the appropriate GetFormat method (such as GetText) to retrieve the data if the Clipboard contains it. To specify the format in these operations, call the ContainsData and GetData methods instead.class provides additional methods that make it easier to work with the system Clipboard. Call the
All Windows-based applications share the system Clipboard, so the contents are subject to change when you switch to another application.
An object must be serializable for it to be put on the Clipboard. If you pass a non-serializable object to a Clipboard method, the method will fail without throwing an exception. See System.Runtime.Serialization for more information on serialization. If your target application requires a very specific data format, the headers added to the data in the serialization process may prevent the application from recognizing your data. To preserve your data format, add your data as a Byte array to a MemoryStream and pass the MemoryStream to the SetData method.
The STAThreadAttribute attribute.class can only be used in threads set to single thread apartment (STA) mode. To use this class, ensure that your Main method is marked with the
Special considerations may be necessary when using the metafile format with the Clipboard. Due to a limitation in the current implementation of the DataObject class, the metafile format used by the .NET Framework may not be recognized by applications that use an older metafile format. In this case, you must interoperate with the Win32 Clipboard application programming interfaces (APIs). For more information, see article 323530, "Metafiles on Clipboard Are Not Visible to All Applications," in the Microsoft Knowledge Base at http://support.microsoft.com.
The following code example uses button1, button2, textBox1, and textBox2 have been created and placed on the form.methods to place data on and retrieve it from the system Clipboard. This code assumes
The button1_Click method calls SetDataObject to take selected text from the text box and place it on the system Clipboard.
Private Sub button1_Click(sender As Object, e As System.EventArgs) ' Takes the selected text from a text box and puts it on the clipboard. If textBox1.SelectedText <> "" Then Clipboard.SetDataObject(textBox1.SelectedText) Else textBox2.Text = "No text selected in textBox1" End If End Sub 'button1_Click Private Sub button2_Click(sender As Object, e As System.EventArgs) ' Declares an IDataObject to hold the data returned from the clipboard. ' Retrieves the data from the clipboard. Dim iData As IDataObject = Clipboard.GetDataObject() ' Determines whether the data is in a format you can use. If iData.GetDataPresent(DataFormats.Text) Then ' Yes it is, so display it in a text box. textBox2.Text = CType(iData.GetData(DataFormats.Text), String) Else ' No it is not. textBox2.Text = "Could not retrieve data off the clipboard." End If End Sub 'button2_Click
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.