Clipboard Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des méthodes pour placer des données sur et récupérer des données à partir du Presse-papiers système. 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 sur et les récupérer à partir du Presse-papiers système. Ce code suppose que , , button1button2et textBox1 ont été créés et placés textBox2sur le formulaire.
Les button1_Click appels SetDataObject de méthode pour prendre le texte sélectionné à partir 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 à partir du Presse-papiers système. Le code utilise IDataObject et DataFormats extrait 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 copy paramètre truesur .
Note
Pour placer des données dans le Presse-papiers dans plusieurs formats, utilisez la DataObject classe ou une IDataObject implémentation. Placez des données dans le Presse-papiers dans plusieurs formats pour maximiser la possibilité qu’une application cible, dont les exigences de format que vous ne connaissez peut-être pas, 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 de DataFormats l’objet 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 où 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.
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 Set appropriée, par SetTextexemple, 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 Contains appropriée (par exempleContainsText) pour déterminer si le Presse-papiers contient des données dans ce format, puis appelez la méthode Get appropriée (par exempleGetText) pour récupérer les données si le Presse-papiers le contient. Pour spécifier le format dans ces opérations, appelez plutôt les méthodes et ContainsData les GetData méthodes.
Note
Toutes les applications basées sur Windows partagent le Presse-papiers système, de sorte que le contenu est susceptible de changer 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. Consultez System.Runtime.Serialization pour plus d’informations sur la sérialisation. Si votre application cible nécessite un format de données très spécifique, les en-têtes ajoutés aux données du 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 sous la forme d’un Byte tableau et MemoryStream transmettez-les 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 classe DataObject, le format de métafichier utilisé par l’infrastructure .NET 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 Win32 Presse-papiers (API).
Méthodes
| Nom | Description |
|---|---|
| Clear() |
Supprime toutes les données du Presse-papiers. |
| ContainsAudio() |
Indique s’il existe des données dans le Presse-papiers au WaveAudio format. |
| ContainsData(String) |
Indique s’il existe des données dans le Presse-papiers au format spécifié ou peuvent être converties dans ce format. |
| ContainsFileDropList() |
Indique s’il existe des données dans le FileDrop Presse-papiers au format ou peuvent être converties dans ce format. |
| ContainsImage() |
Indique s’il existe des données dans le Bitmap Presse-papiers au format ou peuvent être converties dans ce format. |
| ContainsText() |
Indique s’il existe des données dans le TextUnicodeText Presse-papiers ou au format, selon le système d’exploitation. |
| ContainsText(TextDataFormat) |
Indique s’il existe des données de texte dans le Presse-papiers au format indiqué par la valeur spécifiée TextDataFormat . |
| GetAudioStream() |
Récupère un flux audio à partir du Presse-papiers. |
| GetData(String) |
Obsolète.
Récupère les données du Presse-papiers au format spécifié. |
| GetDataObject() |
Récupère les données actuellement dans le Presse-papiers système. |
| GetFileDropList() |
Récupère une collection de noms de fichiers à partir du Presse-papiers. |
| GetImage() |
Récupère une image du Presse-papiers. |
| GetText() |
Récupère les données de texte du Presse-papiers au format ou Text en UnicodeText fonction du système d’exploitation. |
| GetText(TextDataFormat) |
Récupère les données de texte du Presse-papiers au format indiqué par la valeur spécifiée TextDataFormat . |
| SetAudio(Byte[]) |
Efface le Presse-papiers, puis ajoute un Byte tableau au WaveAudio format après l’avoir converti en Stream. |
| SetAudio(Stream) |
Efface le Presse-papiers, puis ajoute un Stream format WaveAudio . |
| SetData(String, Object) |
Efface le Presse-papiers, puis ajoute des données au format spécifié. |
| SetDataAsJson<T>(String, T) |
Fournit des méthodes pour placer des données sur et récupérer des données à partir du Presse-papiers système. Cette classe ne peut pas être héritée. |
| SetDataObject(Object, Boolean, Int32, Int32) |
Efface le Presse-papiers, puis tente de placer les données sur celui-ci le nombre de fois spécifié et avec le délai spécifié entre les tentatives, en laissant éventuellement les données dans le Presse-papiers une fois l’application terminée. |
| SetDataObject(Object, Boolean) |
Efface le Presse-papiers, puis place les données dessus et spécifie si les données doivent rester après la sortie de l’application. |
| SetDataObject(Object) |
Efface le Presse-papiers, puis place les données nonpersistes sur celle-ci. |
| SetFileDropList(StringCollection) |
Efface le Presse-papiers, puis ajoute une collection de noms de fichiers au FileDrop format. |
| SetImage(Image) |
Efface le Presse-papiers, puis ajoute un Image format Bitmap . |
| SetText(String, TextDataFormat) |
Efface le Presse-papiers, puis ajoute des données de texte au format indiqué par la valeur spécifiée TextDataFormat . |
| SetText(String) |
Efface le Presse-papiers, puis ajoute des données de texte au Text format ou UnicodeText en fonction du système d’exploitation. |
| TryGetData<T>(String, Func<TypeName,Type>, T) |
Fournit des méthodes pour placer des données sur et récupérer des données à partir du Presse-papiers système. Cette classe ne peut pas être héritée. |
| TryGetData<T>(String, T) |
Fournit des méthodes pour placer des données sur et récupérer des données à partir du Presse-papiers système. Cette classe ne peut pas être héritée. |
| TryGetData<T>(T) |
Fournit des méthodes pour placer des données sur et récupérer des données à partir du Presse-papiers système. Cette classe ne peut pas être héritée. |