Clipboard Clase

Definición

Proporciona métodos para colocar datos en el Portapapeles del sistema y recuperarlos. Esta clase no puede heredarse.

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 siguiente se usan Clipboard métodos para colocar datos en el Portapapeles del sistema y recuperarlos. Este código supone que button1, button2, textBox1y textBox2 se han creado y colocado en el formulario.

El button1_Click método llama SetDataObject a para tomar el texto seleccionado del cuadro de texto y colocarlo en el Portapapeles del sistema.

El button2_Click método llama GetDataObject a para recuperar datos del Portapapeles del sistema. El código usa IDataObject y DataFormats para extraer los datos devueltos y muestra los datos en 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 formatos predefinidos que se van a usar con la Clipboard clase , consulte la DataFormats clase .

Llame SetDataObject a para colocar datos en el Portapapeles, reemplazando su contenido actual. Para colocar una copia persistente de los datos en el Portapapeles, establezca el copy parámetro trueen .

Note

Para colocar datos en el Portapapeles en varios formatos, use la DataObject clase o una IDataObject implementación. 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 conozca, pueda recuperar correctamente los datos.

Llame GetDataObject a para recuperar datos del Portapapeles. Los datos se devuelven como un objeto que implementa la IDataObject interfaz . Use los métodos especificados por IDataObject los campos y de DataFormats para extraer los datos del objeto . Si no conoce el formato de los datos recuperados, llame al GetFormats método de la IDataObject interfaz para obtener una lista de todos los formatos en los que se almacenan los datos. A continuación, llame al GetData método de la IDataObject interfaz y especifique un formato que la aplicación pueda usar.

La Clipboard clase proporciona métodos adicionales que facilitan el trabajo con el Portapapeles del sistema. Llame al Clear método para quitar todos los datos del Portapapeles. Para agregar datos de un formato determinado al Portapapeles, reemplazando los datos existentes, llame al método Format adecuadoSet, como SetText, o llame al SetData método para especificar el formato. Para recuperar datos de un formato determinado del Portapapeles, primero llame al método Format adecuado Contains (por ContainsTextejemplo, ) para determinar si el Portapapeles contiene datos en ese formato y, a continuación, llame al método Format adecuado Get (como GetText) para recuperar los datos si el Portapapeles lo contiene. Para especificar el formato en estas operaciones, llame a los ContainsData métodos y GetData en su lugar.

Note

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.

Un objeto debe ser serializable para que se coloque en el Portapapeles. Si pasa un objeto no serializable a un método Clipboard, se producirá un error en el método sin producir una excepción. Consulte System.Runtime.Serialization para obtener más información sobre la serialización. Si la aplicación de destino requiere un formato de datos muy específico, los encabezados agregados a los datos del proceso de serialización pueden impedir que la aplicación reconozca los datos. Para conservar el formato de datos, agregue los datos como una Byte matriz a MemoryStream y pase al MemoryStreamSetData método .

La Clipboard clase solo se puede usar en subprocesos configurados en el modo de apartamento de subproceso único (STA). Para usar esta clase, asegúrese de que el Main método está marcado con el STAThreadAttribute atributo .

Es posible que sea necesario tener en cuenta consideraciones especiales al usar el formato de metarchivo con el Portapapeles. Debido a una limitación en la implementación actual de la clase DataObject, es posible que las aplicaciones que usen un formato de metarchivo anterior no reconozcan el formato de metarchivo usado por .NET Framework. En este caso, debes interoperar con las interfaces de programación de aplicaciones de Portapapeles win32 (API).

Métodos

Nombre Description
Clear()

Quita todos los datos del Portapapeles.

ContainsAudio()

Indica si hay datos en el Portapapeles en el WaveAudio formato .

ContainsData(String)

Indica si hay datos en el Portapapeles que están en el formato especificado o se pueden convertir a ese formato.

ContainsFileDropList()

Indica si hay datos en el Portapapeles que están en el FileDrop formato o se pueden convertir a ese formato.

ContainsImage()

Indica si hay datos en el Portapapeles que están en el Bitmap formato o se pueden convertir a ese formato.

ContainsText()

Indica si hay datos en el Portapapeles en el Text formato o UnicodeText , dependiendo del sistema operativo.

ContainsText(TextDataFormat)

Indica si hay datos de texto en el Portapapeles en el formato indicado por el valor especificado TextDataFormat .

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetAudioStream()

Recupera una secuencia de audio del Portapapeles.

GetData(String)

Recupera datos del Portapapeles en el formato especificado.

GetDataObject()

Recupera los datos que se encuentran actualmente en el Portapapeles del sistema.

GetFileDropList()

Recupera una colección de nombres de archivo del Portapapeles.

GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetImage()

Recupera una imagen del Portapapeles.

GetText()

Recupera datos de texto del Portapapeles en función Text del sistema operativo o UnicodeText .

GetText(TextDataFormat)

Recupera datos de texto del Portapapeles en el formato indicado por el valor especificado TextDataFormat .

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
SetAudio(Byte[])

Borra el Portapapeles y, a continuación, agrega una Byte matriz en el WaveAudio formato después de convertirla en .Stream

SetAudio(Stream)

Borra el Portapapeles y, a continuación, agrega un Stream en el WaveAudio formato .

SetData(String, Object)

Borra el Portapapeles y, a continuación, agrega datos en el formato especificado.

SetDataObject(Object, Boolean, Int32, Int32)

Borra el Portapapeles y, a continuación, intenta colocar datos en él el número de veces especificado y con el retraso especificado entre los intentos, dejando opcionalmente los datos en el Portapapeles después de que se cierre la aplicación.

SetDataObject(Object, Boolean)

Borra el Portapapeles y, a continuación, coloca los datos en él y especifica si los datos deben permanecer después de que se cierre la aplicación.

SetDataObject(Object)

Borra el Portapapeles y, a continuación, coloca datos no persistentes en él.

SetFileDropList(StringCollection)

Borra el Portapapeles y, a continuación, agrega una colección de nombres de archivo en el FileDrop formato .

SetImage(Image)

Borra el Portapapeles y, a continuación, agrega un Image en el Bitmap formato .

SetText(String, TextDataFormat)

Borra el Portapapeles y, a continuación, agrega datos de texto en el formato indicado por el valor especificado TextDataFormat .

SetText(String)

Borra el Portapapeles y, a continuación, agrega datos de texto en el Text formato o UnicodeText , en función del sistema operativo.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también