Clipboard.SetDataObject Metódus

Definíció

Törli a vágólapot, majd adatokat ad hozzá.

Túlterhelések

Name Description
SetDataObject(Object)

Törli a vágólapot, majd nem állandó adatokat helyez el rajta.

SetDataObject(Object, Boolean)

Törli a vágólapot, majd adatokat helyez el rajta, és megadja, hogy az adatok megmaradjanak-e az alkalmazás kilépése után.

SetDataObject(Object, Boolean, Int32, Int32)

Törli a vágólapot, majd megkísérli az adatokat a megadott számú alkalommal és a próbálkozások közötti késleltetéssel elhelyezni, és az alkalmazás kilépése után is meghagyja az adatokat a vágólapon.

SetDataObject(Object)

Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs

Törli a vágólapot, majd nem állandó adatokat helyez el rajta.

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

data
Object

A vágólapra helyezendő adatok.

Kivételek

Az adatok nem helyezhetők el a vágólapon. Ez általában akkor fordul elő, ha a vágólapot egy másik folyamat használja.

Az aktuális szál nem egyszálas lakás (STA) módban van. Adja hozzá az STAThreadAttribute alkalmazás metódusához Main .

Az érték az datanull.

Példák

Az alábbi kódpéldában SetDataObject nem folytonos szöveges adatokat helyezünk el a rendszer vágólapjára. A metódusban a button1_Click kijelölt szöveg kimásolódik a vágólapról textBox1 , és beilleszthető a vágólapra. A metódusban a button2_Click rendszer lekéri az adatokat a vágólapról, és megjelenik a következőben textBox2: . Ez a kód feltételezibutton1, button2textBox1textBox2 hogy egy űrlapon lett létrehozva és elhelyezve.

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

Megjegyzések

Az alkalmazás kilépésekor az adatok törlődnek a rendszer vágólapjáról.

Ez a módszer 100 ezredmásodpercben tízszer próbálja beállítani az adatokat, és minden ExternalException kísérlet sikertelen lesz.

Note

Egy objektumnak szerializálhatónak kell lennie ahhoz, hogy a vágólapra kerüljön. Ha nem szerializálható objektumot ad át ehhez a metódushoz, az kivétel nélkül meghiúsul. További System.Runtime.Serialization információ a szerializálásról.

A Clipboard osztály csak olyan szálakban használható, amelyek egyszálas szálapartman (STA) módra vannak beállítva. Az osztály használatához győződjön meg arról, hogy a Main metódus STAThreadAttribute attribútummal van megjelölve.

Lásd még

A következőre érvényes:

SetDataObject(Object, Boolean)

Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs

Törli a vágólapot, majd adatokat helyez el rajta, és megadja, hogy az adatok megmaradjanak-e az alkalmazás kilépése után.

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

data
Object

A vágólapra helyezendő adatok.

copy
Boolean

trueha azt szeretné, hogy az adatok az alkalmazás elhagyása után is a vágólapon maradjanak; egyéb esetben. false

Kivételek

Az adatok nem helyezhetők el a vágólapon. Ez általában akkor fordul elő, ha a vágólapot egy másik folyamat használja.

Az aktuális szál nem egyszálas lakás (STA) módban van. Adja hozzá az STAThreadAttribute alkalmazás metódusához Main .

Az érték az datanull.

Példák

Az alábbi metódus egy alkalmazásban fut. A kijelölt szöveges adatok állandó másolatát a rendszer vágólapjának szövegmezőjében helyezi el. Ez a kód feltételezi button1, textBox1hogy textBox2 egy űrlapon lett létrehozva és elhelyezve.

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

Egy másik alkalmazásban a következő metódus lekéri a szöveget a rendszer vágólapjáról, és beilleszti a szöveget a vágólapra textBox2. Ez a kód feltételezi button2 , és textBox2 egy űrlapon lett létrehozva és elhelyezve.

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

Megjegyzések

Ha a copy paraméter az false, az adatok törlődnek a rendszer vágólapjáról, amikor az alkalmazás kilép.

Ez a módszer 100 ezredmásodpercben tízszer próbálja beállítani az adatokat, és minden ExternalException kísérlet sikertelen lesz.

Note

Egy objektumnak szerializálhatónak kell lennie ahhoz, hogy a vágólapra kerüljön. Ha nem szerializálható objektumot ad át ehhez a metódushoz, az kivétel nélkül meghiúsul. További System.Runtime.Serialization információ a szerializálásról.

A Clipboard osztály csak olyan szálakban használható, amelyek egyszálas szálapartman (STA) módra vannak beállítva. Az osztály használatához győződjön meg arról, hogy a Main metódus STAThreadAttribute attribútummal van megjelölve.

Lásd még

A következőre érvényes:

SetDataObject(Object, Boolean, Int32, Int32)

Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs
Forrás:
Clipboard.cs

Törli a vágólapot, majd megkísérli az adatokat a megadott számú alkalommal és a próbálkozások közötti késleltetéssel elhelyezni, és az alkalmazás kilépése után is meghagyja az adatokat a vágólapon.

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

data
Object

A vágólapra helyezendő adatok.

copy
Boolean

trueha azt szeretné, hogy az adatok az alkalmazás elhagyása után is a vágólapon maradjanak; egyéb esetben. false

retryTimes
Int32

Az adatok vágólapra helyezési kísérleteinek száma.

retryDelay
Int32

A kísérletek között szüneteltetni kívánt ezredmásodpercek száma.

Kivételek

Az aktuális szál nem egyszálas lakás (STA) módban van. Adja hozzá az STAThreadAttribute alkalmazás metódusához Main .

data az null.

retryTimes kisebb, mint nulla.

-vagy-

retryDelay kisebb, mint nulla.

Az adatok nem helyezhetők el a vágólapon. Ez általában akkor fordul elő, ha a vágólapot egy másik folyamat használja.

Megjegyzések

Ha a vágólap más szállal vagy alkalmazással van elfoglalva, időnként sikertelen lehet az adatok hozzáadása a vágólaphoz. Ez a módszer hasznos lehet a probléma megoldásához olyan környezetekben, amelyekben nagy a vágólap használata.

Ha a copy paraméter az false, az adatok törlődnek a rendszer vágólapjáról, amikor az alkalmazás kilép.

Note

Egy objektumnak szerializálhatónak kell lennie ahhoz, hogy a vágólapra kerüljön. Ha nem szerializálható objektumot ad át ehhez a metódushoz, az kivétel nélkül meghiúsul. További System.Runtime.Serialization információ a szerializálásról.

A Clipboard osztály csak olyan szálakban használható, amelyek egyszálas szálapartman (STA) módra vannak beállítva. Az osztály használatához győződjön meg arról, hogy a Main metódus STAThreadAttribute attribútummal van megjelölve.

Lásd még

A következőre érvényes: