Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
Clipboard (Clase)
Proporciona métodos para colocar datos en el Portapapeles del sistema y recuperarlos. Esta clase no puede heredarse.
Ensamblado: System.Windows.Forms (en System.Windows.Forms.dll)
El tipo Clipboard expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
Clear | Quita todos los datos del Portapapeles. |
|
ContainsAudio | Indica si en el Portapapeles hay datos con formato WaveAudio. |
|
ContainsData | Indica si en el Portapapeles hay datos con el formato especificado o que se puedan convertir a ese formato. |
|
ContainsFileDropList | Indica si en el Portapapeles hay datos con el formato FileDrop o que se puedan convertir a ese formato. |
|
ContainsImage | Indica si en el Portapapeles hay datos con el formato Bitmap o que se puedan convertir a ese formato. |
|
ContainsText() | Indica si en el Portapapeles hay datos con el formato Text o UnicodeText, en función del sistema operativo. |
|
ContainsText(TextDataFormat) | Indica si en el Portapapeles hay datos de texto con el formato que indica el valor de TextDataFormat especificado. |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetAudioStream | Recupera una secuencia de audio del Portapapeles. |
|
GetData | Recupera datos del Portapapeles con el formato especificado. |
|
GetDataObject | Recupera los datos que se encuentran actualmente en el Portapapeles del sistema. |
|
GetFileDropList | Recupera del Portapapeles una colección de nombres de archivo. |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetImage | Recupera una imagen del Portapapeles. |
|
GetText() | Recupera del Portapapeles datos de texto que tengan el formato Text o UnicodeText, en función del sistema operativo. |
|
GetText(TextDataFormat) | Recupera del Portapapeles datos de texto con el formato que indica el valor de TextDataFormat especificado. |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda 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. |
|
SetAudio(Stream) | Borra el Portapapeles y, a continuación, agrega Stream en el formato WaveAudio. |
|
SetData | Borra el Portapapeles y, a continuación, agrega los datos en el formato especificado. |
|
SetDataObject(Object) | Borra el Portapapeles y, a continuación, coloca datos no persistentes en él. |
|
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. |
|
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. |
|
SetFileDropList | Borra el Portapapeles y, a continuación, agrega una colección de nombres de archivo en el formato FileDrop. |
|
SetImage | Limpia el Portapapeles y, a continuación, agrega Image en el formato Bitmap. |
|
SetText(String) | Borra el Portapapeles y le agrega datos de texto con el formato Text o UnicodeText, en función del sistema operativo. |
|
SetText(String, TextDataFormat) | Borra el Portapapeles y agrega datos de texto con el formato que indica el valor de TextDataFormat especificado. |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Para obtener una lista de los formatos predefinidos que se usan con la clase Clipboard, vea la clase DataFormats.
Llame a SetDataObject para colocar los datos en el Portapapeles y reemplazar su contenido. Si desea colocar una copia persistente de los datos en el Portapapeles, establezca el parámetro copy en true.
Nota
|
|---|
|
Para colocar los datos en el Portapapeles en varios formatos, utilice la clase DataObject o una implementación de IDataObject. Coloque datos en el Portapapeles en varios formatos para aumentar al máximo las posibilidades de que una aplicación de destino, cuyos requisitos de formato desconozca, pueda recuperar datos correctamente. |
Para recuperar datos del Portapapeles, hay que llamar a GetDataObject. Los datos se devuelven como un objeto que implementa la interfaz IDataObject. Se utilizan los métodos especificados por IDataObject y por los campos de DataFormats para extraer los datos del objeto. Si no conoce el formato de los datos que recuperó, llame al método GetFormats de la interfaz IDataObject para obtener una lista de todos los formatos que los datos están almacenados. A continuación, llame al método GetData de la interfaz IDataObject y especifique un formato que su aplicación puede utilizar.
En .NET Framework versión 2.0, la clase Clipboard proporciona métodos adicionales que facilitan el trabajo con el Portapapeles de sistema. Llame al método Clear para quitar todos los datos del Portapapeles. Para agregar al Portapapeles datos con un formato concreto, sustituyendo los datos existentes, llame al método SetFormat adecuado, como SetText, o llame al método SetData para especificar el formato. Para recuperar del Portapapeles datos con un formato concreto, llame en primer lugar al método ContainsFormato apropiado (como ContainsText) para determinar si el Portapapeles contiene datos con ese formato y, a continuación, llame al correspondiente método GetFormato (como GetText) para recuperar los datos si están en el Portapapeles. En cambio, para especificar el formato en estas operaciones, llame a los métodos ContainsData y GetData.
Nota
|
|---|
|
Todas las aplicaciones basadas en Windows comparten el Portapapeles del sistema, por lo que el contenido del mismo está sujeto a modificaciones cuando se cambia a otra aplicación. Un objeto debe ser serializable para que pueda situarse en el Portapapeles. Si pasa un objeto no serializable a un método Clipboard, se producirá un error en el método y no se iniciará una excepción. Para obtener más información sobre la serialización, vea System.Runtime.Serialization. Si la aplicación de destino requiere un formato de datos muy concreto, los encabezados que se agregan a los datos en el proceso de serialización pueden provocar que la aplicación no reconozca los datos. Para conservar el formato de sus datos, agréguelos como una matriz de Byte a un objeto MemoryStream y pase ese objeto MemoryStream al método SetData. La clase Clipboard sólo se puede utilizar en subprocesos establecidos en modo STA (Subprocesamiento controlado simple). Para utilizar esta clase, cerciórese de que el método Main está marcado con el atributo STAThreadAttribute. Al utilizar el formato de metarchivo con el Portapapeles, pueden ser necesarias consideraciones especiales. Debido a una limitación de la implementación actual de la clase DataObject, es posible que las aplicaciones que utilicen un formato de metarchivo antiguo no reconozcan el formato de metarchivo que usa .NET Framework. En este caso, deberá interactuar con las interfaces de programación de aplicaciones (API) de Portapapeles de Win32. Para obtener más información, consulte el artículo 323530, "Metafiles on Clipboard Are Not Visible to All Applications" de Microsoft Knowledge Base, en la dirección http://support.microsoft.com. |
En el ejemplo de código siguiente se utilizan los métodos de Clipboard para colocar datos en el Portapapeles del sistema y para recuperarlos. En este código, se supone que se han creado button1, button2, textBox1 y textBox2, y que se han colocado en el formulario.
El método button1_Click llama a SetDataObject para tomar el texto seleccionado del cuadro de texto y colocarlo en el Portapapeles del sistema.
El método button2_Click llama a GetDataObject para recuperar datos del Portapapeles del sistema. En el código, IDataObject y DataFormats se utilizan para extraer los datos devueltos, que se muestran 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 != "") 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."; } }
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota