Clipboard Classe

Definizione

Fornisce i metodi per inserire e recuperare i dati dagli Appunti di sistema. La classe non può essere ereditata.

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

Esempio

Nell'esempio di codice seguente vengono Clipboard usati metodi per inserire i dati e recuperarli dagli Appunti di sistema. Questo codice presuppone che , , textBox1button2e siano stati creati e textBox2 inseriti button1nel modulo.

Il button1_Click metodo chiama SetDataObject per accettare testo selezionato dalla casella di testo e inserirlo negli Appunti di sistema.

Il button2_Click metodo chiama GetDataObject per recuperare i dati dagli Appunti di sistema. Il codice usa e DataFormats per estrarre i dati restituiti IDataObject e visualizza i dati 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 .

Chiamare SetDataObject per inserire i dati negli Appunti, sostituendo il contenuto corrente. Per inserire una copia persistente dei dati negli Appunti, impostare il copy parametro su true.

Nota

Per inserire i dati negli Appunti in più formati, usare la DataObject classe o un'implementazione IDataObject . Inserire i dati negli Appunti in più formati per massimizzare la possibilità che un'applicazione di destinazione, i cui requisiti di formato potrebbero non essere noti, può recuperare correttamente i dati.

Chiamare GetDataObject per recuperare i dati dagli Appunti. I dati vengono restituiti come oggetto che implementa l'interfaccia IDataObject . Usare i metodi specificati da IDataObject e campi in DataFormats per estrarre i dati dall'oggetto. Se non si conosce il formato dei dati recuperati, chiamare il GetFormats metodo dell'interfaccia IDataObject per ottenere un elenco di tutti i formati archiviati nei dati. Chiamare quindi il GetData metodo dell'interfaccia IDataObject e specificare un formato che l'applicazione può usare.

In .NET Framework 2.0 la Clipboard classe fornisce metodi aggiuntivi che semplificano l'uso degli Appunti di sistema. Chiamare il Clear metodo per rimuovere tutti i dati dagli Appunti. Per aggiungere dati di un formato specifico agli Appunti, sostituendo i dati esistenti, chiamare il metodo Format appropriatoSet, ad esempio SetText, o chiamare il metodo per specificare il SetData formato. Per recuperare i dati di un formato specifico dagli Appunti, chiamare prima il metodo Format appropriato (ad esempio ) per determinare se gli Appunti contengono dati in tale formato e quindi chiamare il metodo Format appropriato ContainsGet (ad esempio ContainsTextGetText) per recuperare i dati se contiene gli Appunti. Per specificare il formato in queste operazioni, chiamare invece i ContainsData metodi e GetData .

Nota

Tutte le applicazioni basate su Windows condividono gli Appunti di sistema, quindi il contenuto è soggetto a modifiche quando si passa a un'altra applicazione.

Un oggetto deve essere serializzabile per essere inserito negli Appunti. Se si passa un oggetto non serializzabile a un metodo Appunti, il metodo avrà esito negativo senza generare un'eccezione. Per altre informazioni sulla serializzazione, vedere System.Runtime.Serialization . Se l'applicazione di destinazione richiede un formato di dati molto specifico, le intestazioni aggiunte ai dati nel processo di serializzazione potrebbero impedire all'applicazione di riconoscere i dati. Per mantenere il formato dei dati, aggiungere i dati come Byte matrice a un MemoryStream e passare al MemoryStreamSetData metodo .

La Clipboard classe può essere usata solo nei thread impostati sulla modalità single thread apartment (STA). Per usare questa classe, assicurarsi che il Main metodo sia contrassegnato con l'attributo STAThreadAttribute .

Le considerazioni speciali possono essere necessarie quando si usa il formato metafile con gli Appunti. A causa di una limitazione nell'implementazione corrente della DataObject classe, il formato metafile usato da .NET Framework potrebbe non essere riconosciuto dalle applicazioni che usano un formato metafile meno recente. In questo caso, è necessario interagire con le interfacce di programmazione dell'applicazione Win32 Appunti (API).

Metodi

Clear()

Rimuove tutti i dati dagli Appunti.

ContainsAudio()

Indica se sono presenti dati negli Appunti nel formato WaveAudio.

ContainsData(String)

Indica se negli Appunti sono presenti dati nel formato specificato o che possono essere convertiti in tale formato.

ContainsFileDropList()

Indica se sono presenti dati negli Appunti nel formato FileDrop o che possano essere convertiti in tale formato.

ContainsImage()

Indica se sono presenti dati negli Appunti nel formato Bitmap o che possano essere convertiti in tale formato.

ContainsText()

Indica se sono presenti dati negli Appunti nel formato Text o UnicodeText, in base al sistema operativo.

ContainsText(TextDataFormat)

Indica se sono presenti dati di testo negli Appunti nel formato indicato dal valore TextDataFormat specificato.

GetAudioStream()

Recupera un flusso audio dagli Appunti.

GetData(String)

Recupera i dati dagli Appunti nel formato specificato.

GetDataObject()

Recupera i dati presenti negli Appunti di sistema.

GetFileDropList()

Recupera un insieme di nomi di file dagli Appunti.

GetImage()

Recupera un'immagine dagli Appunti.

GetText()

Recupera dati di testo dagli Appunti nel formato Text o UnicodeText, in base al sistema operativo.

GetText(TextDataFormat)

Recupera dati di testo dagli Appunti nel formato indicato dal valore TextDataFormat specificato.

SetAudio(Byte[])

Cancella il contenuto degli Appunti e aggiunge una matrice Byte nel formato WaveAudio dopo averla convertita in un oggetto Stream.

SetAudio(Stream)

Cancella il contenuto degli Appunti e aggiunge un oggetto Stream nel formato WaveAudio.

SetData(String, Object)

Cancella il contenuto degli Appunti e aggiunge dati nel formato specificato.

SetDataObject(Object)

Cancella il contenuto degli Appunti e vi inserisce dati non permanenti.

SetDataObject(Object, Boolean)

Cancella il contenuto degli Appunti e vi inserisce dati e specifica se vi debbano rimanere dopo la chiusura dell'applicazione.

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.

SetFileDropList(StringCollection)

Cancella il contenuto degli Appunti e aggiunge un insieme di nomi di file nel formato FileDrop.

SetImage(Image)

Cancella il contenuto degli Appunti e aggiunge un oggetto Image nel formato Bitmap.

SetText(String)

Cancella il contenuto degli Appunti e aggiunge dati di testo nel formato Text o UnicodeText, in base al sistema operativo.

SetText(String, TextDataFormat)

Cancella il contenuto degli Appunti e aggiunge dati di testo nel formato indicato dal valore TextDataFormat specificato.

Si applica a

Vedi anche