Clipboard Clase

Definición

Proporciona métodos para colocar datos en el Portapapeles del sistema y recuperarlos.Provides methods to place data on and retrieve data from the system Clipboard. Esta clase no puede heredarse.This class cannot be inherited.

public ref class Clipboard sealed
public sealed class Clipboard
type Clipboard = class
Public NotInheritable Class Clipboard
Herencia
Clipboard

Ejemplos

En el ejemplo de código Clipboard siguiente se usan métodos para colocar datos y recuperarlos del Portapapeles del sistema.The following code example uses Clipboard methods to place data on and retrieve it from the system Clipboard. Este código presupone button1que button2 textBox1,, y textBox2 se han creado y colocado en el formulario.This code assumes button1, button2, textBox1, and textBox2 have been created and placed on the form.

El button1_Click método llama SetDataObject a para tomar el texto seleccionado del cuadro de texto y colocarlo en el Portapapeles del sistema.The button1_Click method calls SetDataObject to take selected text from the text box and place it on the system Clipboard.

El button2_Click método llama GetDataObject a para recuperar datos del Portapapeles del sistema.The button2_Click method calls GetDataObject to retrieve data from the system Clipboard. El código utiliza IDataObject y DataFormats para extraer los datos devueltos y muestra los textBox2datos en.The code uses IDataObject and DataFormats to extract the data returned and displays the data in textBox2.

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Takes the selected text from a text box and puts it on the clipboard.
      if ( !textBox1->SelectedText->Equals( "" ) )
      {
         Clipboard::SetDataObject( textBox1->SelectedText );
      }
      else
      {
         textBox2->Text = "No text selected in textBox1";
      }
   }

   void button2_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Declares an IDataObject to hold the data returned from the clipboard.
      // Retrieves the data from the clipboard.
      IDataObject^ iData = Clipboard::GetDataObject();
      
      // Determines whether the data is in a format you can use.
      if ( iData->GetDataPresent( DataFormats::Text ) )
      {
         // Yes it is, so display it in a text box.
         textBox2->Text = (String^)(iData->GetData( DataFormats::Text ));
      }
      else
      {
         // No it is not.
         textBox2->Text = "Could not retrieve data off the clipboard.";
      }
   }
private void button1_Click(object sender, System.EventArgs e) {
    // Takes the selected text from a text box and puts it on the clipboard.
    if(textBox1.SelectedText != "")
       Clipboard.SetDataObject(textBox1.SelectedText);
    else
       textBox2.Text = "No text selected in textBox1";
 }
 
 private void button2_Click(object sender, System.EventArgs e) {
    // Declares an IDataObject to hold the data returned from the clipboard.
    // Retrieves the data from the clipboard.
    IDataObject iData = Clipboard.GetDataObject();
 
    // Determines whether the data is in a format you can use.
    if(iData.GetDataPresent(DataFormats.Text)) {
       // Yes it is, so display it in a text box.
       textBox2.Text = (String)iData.GetData(DataFormats.Text); 
    }
    else {
       // No it is not.
       textBox2.Text = "Could not retrieve data off the 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
 
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

Comentarios

Para obtener una lista de los formatos predefinidos que Clipboard se van a usar DataFormats con la clase, vea la clase.For a list of predefined formats to use with the Clipboard class, see the DataFormats class.

Llame SetDataObject a para colocar los datos en el portapapeles, reemplazando el contenido actual.Call SetDataObject to put data on the Clipboard, replacing its current contents. Para colocar una copia persistente de los datos en el portapapeles, copy establezca el trueparámetro en.To place a persistent copy of the data on the Clipboard, set the copy parameter to true.

Nota

Para colocar datos en el portapapeles en varios formatos, DataObject utilice la clase IDataObject o una implementación de.To place data on the Clipboard in multiple formats, use the DataObject class or an IDataObject implementation. Coloque los datos en el portapapeles en varios formatos para maximizar la posibilidad de que una aplicación de destino, cuyos requisitos de formato no sepa, pueda recuperar correctamente los datos.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.

Llame GetDataObject a para recuperar datos del portapapeles.Call GetDataObject to retrieve data from the Clipboard. Los datos se devuelven como un objeto que implementa IDataObject la interfaz.The data is returned as an object that implements the IDataObject interface. Use los métodos especificados IDataObject por los campos DataFormats y de para extraer los datos del objeto.Use the methods specified by IDataObject and fields in DataFormats to extract the data from the object. Si no conoce el formato de los datos recuperados, llame GetFormats al método de la IDataObject interfaz para obtener una lista de todos los formatos en los que están almacenados los datos.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. A continuación, GetData llame al método IDataObject de la interfaz y especifique un formato que pueda usar la aplicación.Then call the GetData method of the IDataObject interface, and specify a format that your application can use.

En .NET Framework 2.0.NET Framework 2.0, la Clipboard clase proporciona métodos adicionales que facilitan el trabajo con el Portapapeles del sistema.In .NET Framework 2.0.NET Framework 2.0, the Clipboard class provides additional methods that make it easier to work with the system Clipboard. Llame al Clear método para quitar todos los datos del portapapeles.Call the Clear method to remove all data from the Clipboard. Para agregar datos de un formato determinado al portapapeles, reemplace los datos existentes, llame al Set SetTextmétodo de formato adecuado, como, o llame SetData al método para especificar el formato.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. Para recuperar datos de un formato determinado del portapapeles, llame primero al Containsmétodo de formato adecuado ( ContainsTextcomo) para determinar si el Portapapeles contiene datos en ese formato y, a continuación, llame al GetmétodoMétodo de formato ( GetTextcomo) para recuperar los datos si el portapapeles lo contiene.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. Para especificar el formato en estas operaciones, llame a ContainsData los GetData métodos y en su lugar.To specify the format in these operations, call the ContainsData and GetData methods instead.

Nota

Todas las aplicaciones basadas en Windows comparten el Portapapeles del sistema, por lo que el contenido está sujeto a cambios al cambiar a otra aplicación.All Windows-based applications share the system Clipboard, so the contents are subject to change when you switch to another application.

Un objeto debe ser serializable para que se pueda colocar en el portapapeles.An object must be serializable for it to be put on the Clipboard. Si pasa un objeto no serializable a un método Clipboard, se producirá un error en el método sin producir una excepción.If you pass a non-serializable object to a Clipboard method, the method will fail without throwing an exception. Vea System.Runtime.Serialization para obtener más información sobre la serialización.See System.Runtime.Serialization for more information on serialization. Si la aplicación de destino requiere un formato de datos muy específico, los encabezados agregados a los datos en el proceso de serialización pueden impedir que la aplicación reconozca los datos.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. Para conservar el formato de datos, agregue los datos como Byte una matriz MemoryStream a SetData y pase MemoryStream al método.To preserve your data format, add your data as a Byte array to a MemoryStream and pass the MemoryStream to the SetData method.

La Clipboard clase solo se puede usar en los subprocesos establecidos en el modo de contenedor uniproceso (STA).The Clipboard class can only be used in threads set to single thread apartment (STA) mode. Para usar esta clase, asegúrese de que Main el método está marcado con STAThreadAttribute el atributo.To use this class, ensure that your Main method is marked with the STAThreadAttribute attribute.

Pueden ser necesarias consideraciones especiales al utilizar el formato de metarchivo con el portapapeles.Special considerations may be necessary when using the metafile format with the Clipboard. Debido a una limitación en la implementación actual de la DataObject clase, es posible que las aplicaciones que usan un formato de metarchivo anterior no reconozcan el formato de metarchivo utilizado por el .NET Framework.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. En este caso, debe interoperar con las interfaces de programación de aplicaciones (API) del portapapeles de Win32.In this case, you must interoperate with the Win32 Clipboard application programming interfaces (APIs).

Métodos

Clear()

Quita todos los datos del Portapapeles.Removes all data from the Clipboard.

ContainsAudio()

Indica si en el Portapapeles hay datos con formato WaveAudio.Indicates whether there is data on the Clipboard in the WaveAudio format.

ContainsData(String)

Indica si en el Portapapeles hay datos con el formato especificado o que se puedan convertir a ese formato.Indicates whether there is data on the Clipboard that is in the specified format or can be converted to that format.

ContainsFileDropList()

Indica si en el Portapapeles hay datos con el formato FileDrop o que se puedan convertir a ese formato.Indicates whether there is data on the Clipboard that is in the FileDrop format or can be converted to that format.

ContainsImage()

Indica si en el Portapapeles hay datos con el formato Bitmap o que se puedan convertir a ese formato.Indicates whether there is data on the Clipboard that is in the Bitmap format or can be converted to that format.

ContainsText()

Indica si en el Portapapeles hay datos con el formato Text o UnicodeText, en función del sistema operativo.Indicates whether there is data on the Clipboard in the Text or UnicodeText format, depending on the operating system.

ContainsText(TextDataFormat)

Indica si en el Portapapeles hay datos de texto con el formato que indica el valor de TextDataFormat especificado.Indicates whether there is text data on the Clipboard in the format indicated by the specified TextDataFormat value.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetAudioStream()

Recupera una secuencia de audio del Portapapeles.Retrieves an audio stream from the Clipboard.

GetData(String)

Recupera datos del Portapapeles con el formato especificado.Retrieves data from the Clipboard in the specified format.

GetDataObject()

Recupera los datos que se encuentran actualmente en el Portapapeles del sistema.Retrieves the data that is currently on the system Clipboard.

GetFileDropList()

Recupera del Portapapeles una colección de nombres de archivo.Retrieves a collection of file names from the Clipboard.

GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetImage()

Recupera una imagen del Portapapeles.Retrieves an image from the Clipboard.

GetText()

Recupera del Portapapeles datos de texto que tengan el formato Text o UnicodeText, en función del sistema operativo.Retrieves text data from the Clipboard in the Text or UnicodeText format, depending on the operating system.

GetText(TextDataFormat)

Recupera del Portapapeles datos de texto con el formato que indica el valor de TextDataFormat especificado.Retrieves text data from the Clipboard in the format indicated by the specified TextDataFormat value.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
SetAudio(Byte[])

Borra el Portapapeles y agrega una matriz de Byte con el formato WaveAudio, después de convertirla en un objeto Stream.Clears the Clipboard and then adds a Byte array in the WaveAudio format after converting it to a Stream.

SetAudio(Stream)

Borra el Portapapeles y, a continuación, agrega Stream en el formato WaveAudio.Clears the Clipboard and then adds a Stream in the WaveAudio format.

SetData(String, Object)

Borra el Portapapeles y, a continuación, agrega los datos en el formato especificado.Clears the Clipboard and then adds data in the specified format.

SetDataObject(Object)

Borra el Portapapeles y, a continuación, coloca datos no persistentes en él.Clears the Clipboard and then places nonpersistent data on it.

SetDataObject(Object, Boolean)

Borra el Portapapeles y, a continuación, coloca datos en él y especifica si deben permanecer cuando se cierre la aplicación.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)

Borra el Portapapeles y, a continuación, intenta colocar datos en él el número especificado de veces y con la demora determinada entre cada intento y, opcionalmente, deja los datos en el Portapapeles después de cerrar la aplicación.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.

SetFileDropList(StringCollection)

Borra el Portapapeles y, a continuación, agrega una colección de nombres de archivo en el formato FileDrop.Clears the Clipboard and then adds a collection of file names in the FileDrop format.

SetImage(Image)

Limpia el Portapapeles y, a continuación, agrega Image en el formato Bitmap.Clears the Clipboard and then adds an Image in the Bitmap format.

SetText(String)

Borra el Portapapeles y le agrega datos de texto con el formato Text o UnicodeText, en función del sistema operativo.Clears the Clipboard and then adds text data in the Text or UnicodeText format, depending on the operating system.

SetText(String, TextDataFormat)

Borra el Portapapeles y agrega datos de texto con el formato que indica el valor de TextDataFormat especificado.Clears the Clipboard and then adds text data in the format indicated by the specified TextDataFormat value.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a

Consulte también: