Clipboard Classe

Definizione

Fornisce i metodi per inserire e recuperare i dati dagli Appunti di sistema.Provides methods to place data on and retrieve data from the system Clipboard. La classe non può essere ereditata.This class cannot be inherited.

public ref class Clipboard abstract sealed
public ref class Clipboard sealed
public static class Clipboard
public sealed class Clipboard
type Clipboard = class
Public Class Clipboard
Public NotInheritable Class Clipboard
Ereditarietà
Clipboard

Esempio

Nell'esempio di codice seguente vengono usati i Clipboard metodi per inserire e recuperare i dati dagli Appunti di sistema.The following code example uses Clipboard methods to place data on and retrieve it from the system Clipboard. Questo codice presuppone button1 button2 che,, textBox1 e textBox2 siano stati creati e inseriti nel form.This code assumes button1, button2, textBox1, and textBox2 have been created and placed on the form.

Il button1_Click metodo chiama SetDataObject per eseguire il testo selezionato dalla casella di testo e inserirlo negli Appunti di sistema.The button1_Click method calls SetDataObject to take selected text from the text box and place it on the system Clipboard.

Il button2_Click metodo chiama GetDataObject per recuperare i dati dagli Appunti di sistema.The button2_Click method calls GetDataObject to retrieve data from the system Clipboard. Il codice usa IDataObject e DataFormats per estrarre i dati restituiti e Visualizza i dati in 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

Commenti

Per un elenco di formati predefiniti da usare con la Clipboard classe, vedere la DataFormats classe.For a list of predefined formats to use with the Clipboard class, see the DataFormats class.

Chiamare SetDataObject per inserire i dati negli Appunti, sostituendo il contenuto corrente.Call SetDataObject to put data on the Clipboard, replacing its current contents. Per inserire una copia permanente dei dati negli Appunti, impostare il parametro su copy true .To place a persistent copy of the data on the Clipboard, set the copy parameter to true.

Nota

Per inserire i dati negli Appunti in più formati, utilizzare la DataObject classe o un' IDataObject implementazione di.To place data on the Clipboard in multiple formats, use the DataObject class or an IDataObject implementation. Inserire i dati negli Appunti in più formati per massimizzare la possibilità che un'applicazione di destinazione, i cui requisiti di formato non si conoscano, possano recuperare correttamente i dati.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.

Chiamare GetDataObject per recuperare i dati dagli Appunti.Call GetDataObject to retrieve data from the Clipboard. I dati vengono restituiti come un oggetto che implementa l' IDataObject interfaccia.The data is returned as an object that implements the IDataObject interface. Usare i metodi specificati dai IDataObject campi e in DataFormats per estrarre i dati dall'oggetto.Use the methods specified by IDataObject and fields in DataFormats to extract the data from the object. Se non si conosce il formato dei dati recuperati, chiamare il GetFormats metodo dell' IDataObject interfaccia per ottenere un elenco di tutti i formati in cui sono archiviati i dati.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. Chiamare quindi il GetData metodo dell' IDataObject interfaccia e specificare un formato che l'applicazione può usare.Then call the GetData method of the IDataObject interface, and specify a format that your application can use.

Nella .NET Framework 2,0 la Clipboard classe fornisce metodi aggiuntivi che semplificano l'utilizzo degli Appunti di sistema.In .NET Framework 2.0, the Clipboard class provides additional methods that make it easier to work with the system Clipboard. Chiamare il Clear metodo per rimuovere tutti i dati dagli Appunti.Call the Clear method to remove all data from the Clipboard. Per aggiungere i dati di un particolare formato agli Appunti, sostituendo i dati esistenti, chiamare il Set metodo di formato appropriato, ad esempio SetText , oppure chiamare il SetData metodo per specificare il 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. Per recuperare i dati di un particolare formato dagli Appunti, chiamare prima il metodo Contains di formato appropriato (ad esempio ContainsText ) per determinare se gli Appunti contengono dati in tale formato, quindi chiamare il Get metodo di formato appropriato (ad esempio GetText ) per recuperare i dati se contenuti negli Appunti.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. Per specificare il formato in queste operazioni, chiamare ContainsData invece i GetData metodi e.To specify the format in these operations, call the ContainsData and GetData methods instead.

Nota

Tutte le applicazioni basate su Windows condividono gli Appunti di sistema, pertanto il contenuto è soggetto a modifiche quando si passa a un'altra applicazione.All Windows-based applications share the system Clipboard, so the contents are subject to change when you switch to another application.

Un oggetto deve essere serializzabile affinché venga inserito negli Appunti.An object must be serializable for it to be put on the Clipboard. Se si passa un oggetto non serializzabile a un metodo degli Appunti, il metodo avrà esito negativo senza generare un'eccezione.If you pass a non-serializable object to a Clipboard method, the method will fail without throwing an exception. System.Runtime.SerializationPer ulteriori informazioni sulla serializzazione, vedere.See System.Runtime.Serialization for more information on serialization. Se l'applicazione di destinazione richiede un formato dati molto specifico, le intestazioni aggiunte ai dati nel processo di serializzazione possono impedire che l'applicazione riconosca i dati.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. Per mantenere il formato dei dati, aggiungere i dati come Byte matrice a un oggetto MemoryStream e passare l'oggetto MemoryStream al SetData metodo.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 classe può essere usata solo nei thread impostati sulla modalità Apartment a thread singolo (sta).The Clipboard class can only be used in threads set to single thread apartment (STA) mode. Per usare questa classe, verificare che il Main metodo sia contrassegnato con l' STAThreadAttribute attributo.To use this class, ensure that your Main method is marked with the STAThreadAttribute attribute.

Potrebbero essere necessarie considerazioni speciali quando si usa il formato metafile con gli Appunti.Special considerations may be necessary when using the metafile format with the Clipboard. A causa di una limitazione nell'implementazione corrente della DataObject classe, il formato metafile utilizzato dal .NET Framework potrebbe non essere riconosciuto dalle applicazioni che utilizzano un formato metafile precedente.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 questo caso, è necessario interoperare con le API (Application Programming Interface) degli Appunti Win32.In this case, you must interoperate with the Win32 Clipboard application programming interfaces (APIs).

Metodi

Clear()

Rimuove tutti i dati dagli Appunti.Removes all data from the Clipboard.

ContainsAudio()

Indica se sono presenti dati negli Appunti nel formato WaveAudio.Indicates whether there is data on the Clipboard in the WaveAudio format.

ContainsData(String)

Indica se negli Appunti sono presenti dati nel formato specificato o che possono essere convertiti in tale 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 sono presenti dati negli Appunti nel formato FileDrop o che possano essere convertiti in tale 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 sono presenti dati negli Appunti nel formato Bitmap o che possano essere convertiti in tale 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 sono presenti dati negli Appunti nel formato Text o UnicodeText, in base al sistema operativo.Indicates whether there is data on the Clipboard in the Text or UnicodeText format, depending on the operating system.

ContainsText(TextDataFormat)

Indica se sono presenti dati di testo negli Appunti nel formato indicato dal valore TextDataFormat specificato.Indicates whether there is text data on the Clipboard in the format indicated by the specified TextDataFormat value.

GetAudioStream()

Recupera un flusso audio dagli Appunti.Retrieves an audio stream from the Clipboard.

GetData(String)

Recupera i dati dagli Appunti nel formato specificato.Retrieves data from the Clipboard in the specified format.

GetDataObject()

Recupera i dati presenti negli Appunti di sistema.Retrieves the data that is currently on the system Clipboard.

GetFileDropList()

Recupera un insieme di nomi di file dagli Appunti.Retrieves a collection of file names from the Clipboard.

GetImage()

Recupera un'immagine dagli Appunti.Retrieves an image from the Clipboard.

GetText()

Recupera dati di testo dagli Appunti nel formato Text o UnicodeText, in base al sistema operativo.Retrieves text data from the Clipboard in the Text or UnicodeText format, depending on the operating system.

GetText(TextDataFormat)

Recupera dati di testo dagli Appunti nel formato indicato dal valore TextDataFormat specificato.Retrieves text data from the Clipboard in the format indicated by the specified TextDataFormat value.

SetAudio(Byte[])

Cancella il contenuto degli Appunti e aggiunge una matrice Byte nel formato WaveAudio dopo averla convertita in un oggetto Stream.Clears the Clipboard and then adds a Byte array in the WaveAudio format after converting it to a Stream.

SetAudio(Stream)

Cancella il contenuto degli Appunti e aggiunge un oggetto Stream nel formato WaveAudio.Clears the Clipboard and then adds a Stream in the WaveAudio format.

SetData(String, Object)

Cancella il contenuto degli Appunti e aggiunge dati nel formato specificato.Clears the Clipboard and then adds data in the specified format.

SetDataObject(Object)

Cancella il contenuto degli Appunti e vi inserisce dati non permanenti.Clears the Clipboard and then places nonpersistent data on it.

SetDataObject(Object, Boolean)

Cancella il contenuto degli Appunti e vi inserisce dati e specifica se vi debbano rimanere dopo la chiusura dell'applicazione.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)

Cancella il contenuto degli Appunti e quindi tenta di inserirvi dati per il numero di volte specificato e con l'intervallo tra tentativi specificato, lasciando facoltativamente i dati negli Appunti dopo la chiusura dell'applicazione.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)

Cancella il contenuto degli Appunti e aggiunge un insieme di nomi di file nel formato FileDrop.Clears the Clipboard and then adds a collection of file names in the FileDrop format.

SetImage(Image)

Cancella il contenuto degli Appunti e aggiunge un oggetto Image nel formato Bitmap.Clears the Clipboard and then adds an Image in the Bitmap format.

SetText(String)

Cancella il contenuto degli Appunti e aggiunge dati di testo nel formato Text o UnicodeText, in base al sistema operativo.Clears the Clipboard and then adds text data in the Text or UnicodeText format, depending on the operating system.

SetText(String, TextDataFormat)

Cancella il contenuto degli Appunti e aggiunge dati di testo nel formato indicato dal valore TextDataFormat specificato.Clears the Clipboard and then adds text data in the format indicated by the specified TextDataFormat value.

Si applica a

Vedi anche