Clipboard.SetDataObject Méthode

Définition

Efface le Presse-papiers, puis y ajoute des données.

Surcharges

Nom Description
SetDataObject(Object)

Efface le Presse-papiers, puis place les données nonpersistes sur celle-ci.

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, 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)

Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs

Efface le Presse-papiers, puis place les données nonpersistes sur celle-ci.

public:
 static void SetDataObject(System::Object ^ data);
public static void SetDataObject(object data);
static member SetDataObject : obj -> unit
Public Shared Sub SetDataObject (data As Object)

Paramètres

data
Object

Données à placer dans le Presse-papiers.

Exceptions

Les données n’ont pas pu être placées dans le Presse-papiers. Cela se produit généralement lorsque le Presse-papiers est utilisé par un autre processus.

Le thread actuel n’est pas en mode STA (Single-Threaded Apartment). Ajoutez la STAThreadAttribute méthode de Main votre application.

La valeur est datanull.

Exemples

L’exemple de code suivant utilise SetDataObject pour placer des données de texte nonpersistent dans le Presse-papiers système. Dans la button1_Click méthode, le texte sélectionné est copié textBox1 et collé dans le Presse-papiers. Dans la button2_Click méthode, les informations sont récupérées dans le Presse-papiers et affichées dans textBox2. Ce code suppose que , , button1button2et textBox1 ont été créés et placés textBox2sur un formulaire.

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

Les données sont supprimées du Presse-papiers système lorsque l’application se ferme.

Cette méthode tente de définir les données dix fois dans les intervalles de 100 millisecondes et lève un ExternalException si toutes les tentatives échouent.

Note

Un objet doit être sérialisable pour qu’il soit placé dans le Presse-papiers. Si vous transmettez un objet non sérialisable à cette méthode, il échoue sans lever d’exception. Consultez System.Runtime.Serialization pour plus d’informations sur la sérialisation.

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 .

Voir aussi

S’applique à

SetDataObject(Object, Boolean)

Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs

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.

public:
 static void SetDataObject(System::Object ^ data, bool copy);
public static void SetDataObject(object data, bool copy);
static member SetDataObject : obj * bool -> unit
Public Shared Sub SetDataObject (data As Object, copy As Boolean)

Paramètres

data
Object

Données à placer dans le Presse-papiers.

copy
Boolean

true si vous souhaitez que les données restent dans le Presse-papiers une fois cette application terminée ; sinon, false.

Exceptions

Les données n’ont pas pu être placées dans le Presse-papiers. Cela se produit généralement lorsque le Presse-papiers est utilisé par un autre processus.

Le thread actuel n’est pas en mode STA (Single-Threaded Apartment). Ajoutez la STAThreadAttribute méthode de Main votre application.

La valeur est datanull.

Exemples

La méthode suivante est exécutée dans une application. Il place une copie persistante des données de texte sélectionnées dans la zone de texte du Presse-papiers système. Ce code suppose button1, textBox1et textBox2 a été créé et placé sur un formulaire.

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, true );
      }
      else
      {
         textBox2->Text = "No text selected in textBox1";
      }
   }
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, true);
    else
       textBox2.Text = "No text selected in textBox1";
 }
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, True)
    Else
        textBox2.Text = "No text selected in textBox1"
    End If
End Sub

Dans une autre application, la méthode suivante récupère le texte du Presse-papiers système et colle le texte dans textBox2. Ce code suppose button2 qu’il a été créé et textBox2 placé sur un formulaire.

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 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 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

Si le copy paramètre est false, les données sont supprimées du Presse-papiers système lorsque l’application se ferme.

Cette méthode tente de définir les données dix fois dans les intervalles de 100 millisecondes et lève un ExternalException si toutes les tentatives échouent.

Note

Un objet doit être sérialisable pour qu’il soit placé dans le Presse-papiers. Si vous transmettez un objet non sérialisable à cette méthode, il échoue sans lever d’exception. Consultez System.Runtime.Serialization pour plus d’informations sur la sérialisation.

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 .

Voir aussi

S’applique à

SetDataObject(Object, Boolean, Int32, Int32)

Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs

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.

public:
 static void SetDataObject(System::Object ^ data, bool copy, int retryTimes, int retryDelay);
public static void SetDataObject(object data, bool copy, int retryTimes, int retryDelay);
static member SetDataObject : obj * bool * int * int -> unit
Public Shared Sub SetDataObject (data As Object, copy As Boolean, retryTimes As Integer, retryDelay As Integer)

Paramètres

data
Object

Données à placer dans le Presse-papiers.

copy
Boolean

true si vous souhaitez que les données restent dans le Presse-papiers une fois cette application terminée ; sinon, false.

retryTimes
Int32

Nombre de tentatives de placement des données dans le Presse-papiers.

retryDelay
Int32

Nombre de millisecondes à suspendre entre les tentatives.

Exceptions

Le thread actuel n’est pas en mode STA (Single-Threaded Apartment). Ajoutez la STAThreadAttribute méthode de Main votre application.

data a la valeur null.

retryTimes est inférieur à zéro.

- ou -

retryDelay est inférieur à zéro.

Les données n’ont pas pu être placées dans le Presse-papiers. Cela se produit généralement lorsque le Presse-papiers est utilisé par un autre processus.

Remarques

L’ajout de données au Presse-papiers peut parfois échouer si le Presse-papiers est occupé avec un autre thread ou une autre application. Cette méthode est utile pour contourner ce problème dans les environnements avec une utilisation intensive du Presse-papiers.

Si le copy paramètre est false, les données sont supprimées du Presse-papiers système lorsque l’application se ferme.

Note

Un objet doit être sérialisable pour qu’il soit placé dans le Presse-papiers. Si vous transmettez un objet non sérialisable à cette méthode, il échoue sans lever d’exception. Consultez System.Runtime.Serialization pour plus d’informations sur la sérialisation.

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 .

Voir aussi

S’applique à