Clipboard.SetDataObject Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Cancella gli Appunti e quindi aggiunge dati.
Overload
| Nome | Descrizione |
|---|---|
| SetDataObject(Object) |
Cancella gli Appunti e quindi inserisce dati non permanenti. |
| SetDataObject(Object, Boolean) |
Cancella gli Appunti e quindi inserisce i dati su di esso e specifica se i dati devono rimanere dopo l'uscita dall'applicazione. |
| SetDataObject(Object, Boolean, Int32, Int32) |
Cancella gli Appunti e quindi tenta di inserire i dati nel numero specificato di volte e con il ritardo specificato tra i tentativi, lasciando facoltativamente i dati negli Appunti dopo l'uscita dall'applicazione. |
SetDataObject(Object)
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
Cancella gli Appunti e quindi inserisce dati non permanenti.
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)
Parametri
- data
- Object
Dati da inserire negli Appunti.
Eccezioni
Impossibile inserire i dati negli Appunti. Ciò si verifica in genere quando gli Appunti vengono usati da un altro processo.
Il thread corrente non è in modalità apartment a thread singolo (STA). Aggiungere l'oggetto STAThreadAttribute al metodo dell'applicazione Main .
Il valore di data è null.
Esempio
Nell'esempio di codice seguente viene SetDataObject usato per inserire dati di testo non permanenti negli Appunti di sistema.
button1_Click Nel metodo il testo selezionato viene copiato e textBox1 incollato negli Appunti.
button2_Click Nel metodo le informazioni vengono recuperate dagli Appunti e visualizzate in textBox2. Questo codice presuppone button1che , button2textBox1, e textBox2 siano stati creati e inseriti in un modulo.
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
I dati verranno eliminati dagli Appunti di sistema quando l'applicazione viene chiusa.
Questo metodo tenta di impostare i dati dieci volte in intervalli di 100 millisecondi e genera un'eccezione ExternalException se tutti i tentativi hanno esito negativo.
Note
Un oggetto deve essere serializzabile perché venga inserito negli Appunti. Se si passa un oggetto non serializzabile a questo metodo, l'operazione avrà esito negativo senza generare un'eccezione. Per altre informazioni sulla serializzazione, vedere System.Runtime.Serialization .
La classe Clipboard può essere utilizzata solo nei thread impostati sulla modalità STA (Single Thread Apartment), a thread singolo. Per usare questa classe, assicurarsi che il metodo Main sia contrassegnato con l'attributo STAThreadAttribute.
Vedi anche
Si applica a
SetDataObject(Object, Boolean)
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
Cancella gli Appunti e quindi inserisce i dati su di esso e specifica se i dati devono rimanere dopo l'uscita dall'applicazione.
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)
Parametri
- data
- Object
Dati da inserire negli Appunti.
- copy
- Boolean
true se si desidera che i dati rimangano negli Appunti dopo l'uscita dall'applicazione; in caso contrario, false.
Eccezioni
Impossibile inserire i dati negli Appunti. Ciò si verifica in genere quando gli Appunti vengono usati da un altro processo.
Il thread corrente non è in modalità apartment a thread singolo (STA). Aggiungere l'oggetto STAThreadAttribute al metodo dell'applicazione Main .
Il valore di data è null.
Esempio
Il metodo seguente viene eseguito in un'applicazione. Inserisce una copia permanente dei dati di testo selezionati nella casella di testo negli Appunti di sistema. Questo codice presuppone button1che , textBox1e textBox2 siano stati creati e inseriti in un modulo.
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
In un'applicazione diversa, il metodo seguente recupera il testo dagli Appunti di sistema e incolla il testo in textBox2. Questo codice presuppone che siano button2 stati creati e inseriti textBox2 in un modulo.
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
Commenti
Se il copy parametro è false, i dati verranno eliminati dagli Appunti di sistema quando l'applicazione viene chiusa.
Questo metodo tenta di impostare i dati dieci volte in intervalli di 100 millisecondi e genera un'eccezione ExternalException se tutti i tentativi hanno esito negativo.
Note
Un oggetto deve essere serializzabile perché venga inserito negli Appunti. Se si passa un oggetto non serializzabile a questo metodo, l'operazione avrà esito negativo senza generare un'eccezione. Per altre informazioni sulla serializzazione, vedere System.Runtime.Serialization .
La classe Clipboard può essere utilizzata solo nei thread impostati sulla modalità STA (Single Thread Apartment), a thread singolo. Per usare questa classe, assicurarsi che il metodo Main sia contrassegnato con l'attributo STAThreadAttribute.
Vedi anche
Si applica a
SetDataObject(Object, Boolean, Int32, Int32)
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
- Origine:
- Clipboard.cs
Cancella gli Appunti e quindi tenta di inserire i dati nel numero specificato di volte e con il ritardo specificato tra i tentativi, lasciando facoltativamente i dati negli Appunti dopo l'uscita dall'applicazione.
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)
Parametri
- data
- Object
Dati da inserire negli Appunti.
- copy
- Boolean
true se si desidera che i dati rimangano negli Appunti dopo l'uscita dall'applicazione; in caso contrario, false.
- retryTimes
- Int32
Numero di tentativi di inserimento dei dati negli Appunti.
- retryDelay
- Int32
Numero di millisecondi da sospendere tra i tentativi.
Eccezioni
Il thread corrente non è in modalità apartment a thread singolo (STA). Aggiungere l'oggetto STAThreadAttribute al metodo dell'applicazione Main .
data è null.
Impossibile inserire i dati negli Appunti. Ciò si verifica in genere quando gli Appunti vengono usati da un altro processo.
Commenti
L'aggiunta di dati agli Appunti può occasionalmente non riuscire se gli Appunti sono occupati con un altro thread o un'altra applicazione. Questo metodo è utile per risolvere questo problema in ambienti con un uso elevato degli Appunti.
Se il copy parametro è false, i dati verranno eliminati dagli Appunti di sistema quando l'applicazione viene chiusa.
Note
Un oggetto deve essere serializzabile perché venga inserito negli Appunti. Se si passa un oggetto non serializzabile a questo metodo, l'operazione avrà esito negativo senza generare un'eccezione. Per altre informazioni sulla serializzazione, vedere System.Runtime.Serialization .
La classe Clipboard può essere utilizzata solo nei thread impostati sulla modalità STA (Single Thread Apartment), a thread singolo. Per usare questa classe, assicurarsi che il metodo Main sia contrassegnato con l'attributo STAThreadAttribute.