Clipboard.SetDataObject Méthode
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.
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 .