Partage via


Clipboard Classe

Définition

Fournit les méthodes permettant de placer des données dans le Presse-papiers système et d'en récupérer. Cette classe ne peut pas être héritée.

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
Héritage
Clipboard

Exemples

L’exemple de code suivant utilise des Clipboard méthodes pour placer des données et les récupérer à partir du Presse-papiers système. Ce code suppose que , button2, textBox1et textBox2 ont été créés button1et placés sur le formulaire.

La button1_Click méthode appelle SetDataObject pour prendre le texte sélectionné de la zone de texte et le placer dans le Presse-papiers système.

La button2_Click méthode appelle GetDataObject pour récupérer des données du Presse-papiers système. Le code utilise IDataObject et DataFormats pour extraire les données retournées et affiche les données dans 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

Remarques

Pour obtenir la liste des formats prédéfinis à utiliser avec la Clipboard classe, consultez la DataFormats classe .

Appelez SetDataObject pour placer des données dans le Presse-papiers, en remplaçant son contenu actuel. Pour placer une copie persistante des données dans le Presse-papiers, définissez le paramètre sur copytrue.

Notes

Pour placer des données dans le Presse-papiers dans plusieurs formats, utilisez la DataObject classe ou une IDataObject implémentation. Placez les données dans le Presse-papiers dans plusieurs formats pour optimiser la possibilité qu’une application cible, dont vous ne connaissez peut-être pas les exigences de format, puisse récupérer les données.

Appelez GetDataObject pour récupérer des données à partir du Presse-papiers. Les données sont retournées en tant qu’objet qui implémente l’interface IDataObject . Utilisez les méthodes spécifiées par IDataObject et les champs dans DataFormats pour extraire les données de l’objet. Si vous ne connaissez pas le format des données que vous avez récupérées, appelez la GetFormats méthode de l’interface IDataObject pour obtenir la liste de tous les formats dans lesquels les données sont stockées. Appelez ensuite la GetData méthode de l’interface IDataObject et spécifiez un format que votre application peut utiliser.

Dans .NET Framework 2.0, la Clipboard classe fournit des méthodes supplémentaires qui facilitent l’utilisation du Presse-papiers système. Appelez la Clear méthode pour supprimer toutes les données du Presse-papiers. Pour ajouter des données d’un format particulier au Presse-papiers, en remplaçant les données existantes, appelez la méthode Format appropriéeSet, telle que SetText, ou appelez la SetData méthode pour spécifier le format. Pour récupérer des données d’un format particulier à partir du Presse-papiers, appelez d’abord la méthode Format appropriée Contains (telle que ContainsText) pour déterminer si le Presse-papiers contient des données dans ce format, puis appelez la méthode Format appropriée Get (telle que GetText) pour récupérer les données si le Presse-papiers les contient. Pour spécifier le format dans ces opérations, appelez les méthodes et GetData à la ContainsData place.

Notes

Toutes les applications Windows partagent le Presse-papiers système, de sorte que le contenu est susceptible d’être modifié lorsque vous basculez vers une autre application.

Un objet doit être sérialisable pour qu’il soit placé dans le Presse-papiers. Si vous passez un objet non sérialisable à une méthode presse-papiers, la méthode échoue sans lever d’exception. Pour plus d’informations sur la sérialisation, consultez System.Runtime.Serialization . Si votre application cible nécessite un format de données très spécifique, les en-têtes ajoutés aux données dans le processus de sérialisation peuvent empêcher l’application de reconnaître vos données. Pour conserver votre format de données, ajoutez vos données en tant que Byte tableau à un MemoryStream et passez le MemoryStream à la SetData méthode .

La Clipboard classe ne peut être utilisée que dans les threads définis en mode STA (Single Thread Apartment). Pour utiliser cette classe, vérifiez que votre Main méthode est marquée avec l’attribut STAThreadAttribute .

Des considérations particulières peuvent être nécessaires lors de l’utilisation du format de métafichier avec le Presse-papiers. En raison d’une limitation dans l’implémentation actuelle de la DataObject classe, le format de métafichier utilisé par le .NET Framework peut ne pas être reconnu par les applications qui utilisent un format de métafichier plus ancien. Dans ce cas, vous devez interagir avec les interfaces de programmation d’applications (API) du Presse-papiers Win32.

Méthodes

Clear()

Supprime toutes les données du Presse-papiers.

ContainsAudio()

Indique si le Presse-papiers contient des données au format WaveAudio.

ContainsData(String)

Indique si le Presse-papiers contient des données au format spécifié ou qui peuvent être converties dans ce format.

ContainsFileDropList()

Indique si le Presse-papiers contient des données au format FileDrop ou qui peuvent être converties dans ce format.

ContainsImage()

Indique si le Presse-papiers contient des données au format Bitmap ou qui peuvent être converties dans ce format.

ContainsText()

Indique si le Presse-papiers contient des données au format Text ou UnicodeText, selon le système d'exploitation.

ContainsText(TextDataFormat)

Indique si le Presse-papiers contient des données textuelles au format indiqué par la valeur TextDataFormat spécifiée.

GetAudioStream()

Récupère un flux audio dans le Presse-papiers.

GetData(String)

Récupère des données du Presse-papiers dans le format spécifié.

GetDataObject()

Récupère les données figurant dans le Presse-papiers système.

GetFileDropList()

Récupère une collection de noms de fichiers du Presse-papiers.

GetImage()

Récupère une image du Presse-papiers.

GetText()

Récupère des données textuelles du Presse-papiers dans le format Text ou UnicodeText, selon le système d'exploitation.

GetText(TextDataFormat)

Récupère des données textuelles du Presse-papiers dans le format indiqué par la valeur TextDataFormat spécifiée.

SetAudio(Byte[])

Efface le Presse-papiers puis ajoute un tableau Byte au format WaveAudio après l'avoir converti en Stream.

SetAudio(Stream)

Efface le Presse-papiers puis ajoute un Stream au format WaveAudio.

SetData(String, Object)

Efface le Presse-papiers puis ajoute des données au format spécifié.

SetDataObject(Object)

Efface le Presse-papiers puis y place des données non persistantes.

SetDataObject(Object, Boolean)

Efface le Presse-papiers puis y place des données et spécifie si les données doivent rester lorsque l'application se ferme.

SetDataObject(Object, Boolean, Int32, Int32)

Efface le Presse-papiers puis tente d'y placer des données le nombre spécifié de fois et dans le délai spécifié entre les tentatives, en laissant éventuellement les données dans le Presse-papiers lorsque l'utilisateur quitte l'application.

SetFileDropList(StringCollection)

Efface le Presse-papiers puis ajoute une collection de noms de fichier au format FileDrop.

SetImage(Image)

Efface le Presse-papiers puis ajoute un Image au format Bitmap.

SetText(String)

Efface le Presse-papiers puis y ajoute des données de texte au format Text ou UnicodeText, selon le système d'exploitation.

SetText(String, TextDataFormat)

Efface le Presse-papiers puis ajoute des données de texte au format indiqué par la valeur TextDataFormat spécifiée.

S’applique à

Voir aussi