Clipboard Classe

Definição

Fornece métodos para colocar dados e recuperar dados da área de transferência do sistema.Provides methods to place data on and retrieve data from the system Clipboard. Essa classe não pode ser herdada.This class cannot be inherited.

public ref class Clipboard sealed
public sealed class Clipboard
type Clipboard = class
Public NotInheritable Class Clipboard
Herança
Clipboard

Exemplos

O exemplo de código a Clipboard seguir usa métodos para inserir dados e recuperá-los da área de transferência do sistema.The following code example uses Clipboard methods to place data on and retrieve it from the system Clipboard. Esse código pressupõe button1 button2que, textBox1, e textBox2 foram criados e colocados no formulário.This code assumes button1, button2, textBox1, and textBox2 have been created and placed on the form.

O button1_Click método chama SetDataObject para pegar o texto selecionado na caixa de texto e colocá-lo na área de transferência do sistema.The button1_Click method calls SetDataObject to take selected text from the text box and place it on the system Clipboard.

O button2_Click método chama GetDataObject para recuperar dados da área de transferência do sistema.The button2_Click method calls GetDataObject to retrieve data from the system Clipboard. O código usa IDataObject e DataFormats para extrair os dados retornados e exibe os dados no textBox2.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

Comentários

Para obter uma lista de formatos predefinidos a Clipboard serem usados com a DataFormats classe, consulte a classe.For a list of predefined formats to use with the Clipboard class, see the DataFormats class.

Chame SetDataObject para colocar dados na área de transferência, substituindo seu conteúdo atual.Call SetDataObject to put data on the Clipboard, replacing its current contents. Para posicionar uma cópia persistente dos dados na área de transferência, defina copy o parâmetro truecomo.To place a persistent copy of the data on the Clipboard, set the copy parameter to true.

Observação

Para inserir dados na área de transferência em vários formatos, use DataObject a classe ou IDataObject uma implementação.To place data on the Clipboard in multiple formats, use the DataObject class or an IDataObject implementation. Coloque os dados na área de transferência em vários formatos para maximizar a possibilidade de que um aplicativo de destino, cujos requisitos de formato você talvez não conheça, possa recuperar os dados com êxito.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.

Chame GetDataObject para recuperar dados da área de transferência.Call GetDataObject to retrieve data from the Clipboard. Os dados são retornados como um objeto que implementa a IDataObject interface.The data is returned as an object that implements the IDataObject interface. Use os métodos especificados por IDataObject e os campos DataFormats em para extrair os dados do objeto.Use the methods specified by IDataObject and fields in DataFormats to extract the data from the object. Se você não souber o formato dos dados recuperados, chame o GetFormats método IDataObject da interface para obter uma lista de todos os formatos nos quais os dados são armazenados.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. Em seguida, GetData chame o método IDataObject da interface e especifique um formato que seu aplicativo possa usar.Then call the GetData method of the IDataObject interface, and specify a format that your application can use.

No .NET Framework 2.0.NET Framework 2.0, a Clipboard classe fornece métodos adicionais que facilitam o trabalho com a área de transferência do 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. Chame o Clear método para remover todos os dados da área de transferência.Call the Clear method to remove all data from the Clipboard. Para adicionar dados de um formato específico à área de transferência, substituindo os dados existentes, chame Seto SetTextmétodo de formato apropriado, como ou chame SetData o método para especificar o 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 dados de um formato específico da área de transferência, primeiro chame o Containsmétodo do ContainsTextmétodo de formato apropriado (como) para determinar se a área de transferência contém dados nesse formato e, em seguida, chame o GetMétodo de formato ( GetTextcomo) para recuperar os dados se a área de transferência o contiver.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 o formato nessas operações, chame os ContainsData métodos GetData e em vez disso.To specify the format in these operations, call the ContainsData and GetData methods instead.

Observação

Todos os aplicativos baseados no Windows compartilham a área de transferência do sistema, portanto, o conteúdo está sujeito a alterações quando você alterna para outro aplicativo.All Windows-based applications share the system Clipboard, so the contents are subject to change when you switch to another application.

Um objeto deve ser serializável para que seja colocado na Área de Transferência.An object must be serializable for it to be put on the Clipboard. Se você passar um objeto não serializável para um método de Área de Transferência, o método falhará sem lançar uma exceção.If you pass a non-serializable object to a Clipboard method, the method will fail without throwing an exception. Consulte System.Runtime.Serialization para obter mais informações sobre serialização.See System.Runtime.Serialization for more information on serialization. Se seu aplicativo de destino exigir um formato de dados muito específico, os cabeçalhos adicionados aos dados no processo de serialização poderão impedir que o aplicativo reconheça seus dados.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 preservar seu formato de dados, adicione seus dados como Byte uma matriz MemoryStream a a e passe MemoryStream o para SetData o 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.

A Clipboard classe só pode ser usada em threads definidos como o modo STA (single thread apartment).The Clipboard class can only be used in threads set to single thread apartment (STA) mode. Para usar essa classe, verifique se o Main método está marcado com o STAThreadAttribute atributo.To use this class, ensure that your Main method is marked with the STAThreadAttribute attribute.

Considerações especiais podem ser necessárias ao usar o formato de metarquivo com a área de transferência.Special considerations may be necessary when using the metafile format with the Clipboard. Devido a uma limitação na implementação atual da DataObject classe, o formato de metarquivo usado pelo .NET Framework pode não ser reconhecido por aplicativos que usam um formato de metarquivo mais antigo.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. Nesse caso, você deve interoperar com as APIs (interfaces de programação de aplicativo) da área de transferência do Win32.In this case, you must interoperate with the Win32 Clipboard application programming interfaces (APIs).

Métodos

Clear()

Remove todos os dados da área de transferência.Removes all data from the Clipboard.

ContainsAudio()

Indica se há dados na Área de Transferência no formato WaveAudio.Indicates whether there is data on the Clipboard in the WaveAudio format.

ContainsData(String)

Indica se há dados na área de transferência que estão no formato especificado ou que podem ser convertidos nesse formato.Indicates whether there is data on the Clipboard that is in the specified format or can be converted to that format.

ContainsFileDropList()

Indica se há dados na Área de Transferência que estão no formato FileDrop ou que podem ser convertidos para esse formato.Indicates whether there is data on the Clipboard that is in the FileDrop format or can be converted to that format.

ContainsImage()

Indica se há dados na Área de Transferência que estão no formato Bitmap ou que podem ser convertidos para esse formato.Indicates whether there is data on the Clipboard that is in the Bitmap format or can be converted to that format.

ContainsText()

Indica se há dados na Área de Transferência no formato Text ou UnicodeText, dependendo do sistema operacional.Indicates whether there is data on the Clipboard in the Text or UnicodeText format, depending on the operating system.

ContainsText(TextDataFormat)

Indica se há dados de texto da Área de Transferência no formato indicado pelo valor TextDataFormat especificado.Indicates whether there is text data on the Clipboard in the format indicated by the specified TextDataFormat value.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetAudioStream()

Recupera um fluxo de áudio da área de transferência.Retrieves an audio stream from the Clipboard.

GetData(String)

Recupera dados da Área de Transferência no formato especificado.Retrieves data from the Clipboard in the specified format.

GetDataObject()

Recupera os dados que atualmente estão na Área de Transferência do sistema.Retrieves the data that is currently on the system Clipboard.

GetFileDropList()

Recupera uma coleção de nomes de arquivo da Área de Transferência.Retrieves a collection of file names from the Clipboard.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetImage()

Recupera uma imagem da área de transferência.Retrieves an image from the Clipboard.

GetText()

Recupera dados de texto da Área de Transferência no formato Text ou UnicodeText, dependendo do sistema operacional.Retrieves text data from the Clipboard in the Text or UnicodeText format, depending on the operating system.

GetText(TextDataFormat)

Recupera os dados de texto da Área de Transferência no formato indicado pelo valor TextDataFormat especificado.Retrieves text data from the Clipboard in the format indicated by the specified TextDataFormat value.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
SetAudio(Byte[])

Limpa a Área de Transferência e adiciona uma matriz de Byte no formato WaveAudio após convertê-la para um Stream.Clears the Clipboard and then adds a Byte array in the WaveAudio format after converting it to a Stream.

SetAudio(Stream)

Limpa a Área de Transferência e adiciona um Stream no formato WaveAudio.Clears the Clipboard and then adds a Stream in the WaveAudio format.

SetData(String, Object)

Limpa a Área de Transferência e adiciona dados no formato especificado.Clears the Clipboard and then adds data in the specified format.

SetDataObject(Object)

Limpa a Área de Transferência e, em seguida, coloca os dados não persistentes nela.Clears the Clipboard and then places nonpersistent data on it.

SetDataObject(Object, Boolean)

Limpa a área de transferência e, em seguida, coloca os dados nela e especifica se eles devem permanecer após o encerramento do aplicativo.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)

Limpa a Área de Transferência e, em seguida, tenta colocar os dados nela pelo número especificado de vezes e com o atraso especificado entre as tentativas, opcionalmente, deixando os dados na Área de Transferência depois de sair do aplicativo.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)

Limpa a Área de Transferência e, em seguida, adiciona uma coleção de nomes de arquivos no formato FileDrop.Clears the Clipboard and then adds a collection of file names in the FileDrop format.

SetImage(Image)

Limpa a Área de Transferência e adiciona um Image no formato Bitmap.Clears the Clipboard and then adds an Image in the Bitmap format.

SetText(String)

Limpa a área de transferência e, em seguida, adiciona dados de texto no formato Text ou UnicodeText, dependendo do sistema operacional.Clears the Clipboard and then adds text data in the Text or UnicodeText format, depending on the operating system.

SetText(String, TextDataFormat)

Limpa a Área de Transferência e adiciona dados de texto no formato indicado pelo valor TextDataFormat especificado.Clears the Clipboard and then adds text data in the format indicated by the specified TextDataFormat value.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Veja também