Clipboard Klas

Definitie

Biedt methoden voor het plaatsen van gegevens op en het ophalen van gegevens van het klembord van het systeem. Deze klasse kan niet worden overgenomen.

public ref class Clipboard sealed
public sealed class Clipboard
type Clipboard = class
Public NotInheritable Class Clipboard
Overname
Clipboard

Voorbeelden

In het volgende codevoorbeeld worden methoden gebruikt Clipboard om gegevens op het klembord van het systeem te plaatsen en op te halen. Deze code gaat ervan uit datbutton1, button2textBox1en textBox2 is gemaakt en op het formulier is geplaatst.

Met de button1_Click methode wordt geselecteerde tekst uit het tekstvak aangeroepen SetDataObject en op het klembord van het systeem geplaatst.

Met de button2_Click methode wordt aangeroepen GetDataObject om gegevens op te halen van het klembord van het systeem. De code gebruikt IDataObject en DataFormats om de geretourneerde gegevens te extraheren en de gegevens weer te geven in 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

Opmerkingen

Zie de DataFormats klasse voor een lijst met vooraf gedefinieerde indelingen die u met de Clipboard klasse wilt gebruiken.

Oproep SetDataObject om gegevens op het Klembord te plaatsen, waarbij de huidige inhoud wordt vervangen. Als u een permanente kopie van de gegevens op het Klembord wilt plaatsen, stelt u de copy parameter in trueop .

Note

Als u gegevens op het Klembord in meerdere indelingen wilt plaatsen, gebruikt u de DataObject klasse of een IDataObject implementatie. Plaats gegevens op het Klembord in meerdere indelingen om de mogelijkheid te maximaliseren dat een doeltoepassing, waarvan u de indelingsvereisten mogelijk niet weet, de gegevens kan ophalen.

Aanroepen GetDataObject om gegevens op te halen van het Klembord. De gegevens worden geretourneerd als een object waarmee de IDataObject interface wordt geïmplementeerd. Gebruik de methoden die zijn opgegeven door IDataObject en velden om DataFormats de gegevens uit het object te extraheren. Als u de indeling van de gegevens die u hebt opgehaald niet weet, roept u de GetFormats methode van de IDataObject interface aan om een lijst op te halen met alle indelingen waarin de gegevens zijn opgeslagen. Roep vervolgens de GetData methode van de IDataObject interface aan en geef een indeling op die uw toepassing kan gebruiken.

De Clipboard klasse biedt extra methoden waarmee u gemakkelijker met het klembord van het systeem kunt werken. Roep de Clear methode aan om alle gegevens van het Klembord te verwijderen. Als u gegevens van een bepaalde indeling wilt toevoegen aan het Klembord, vervangt u de bestaande gegevens, roept u de juiste Setindelingsmethode aan, zoals SetText, of roept u de SetData methode aan om de indeling op te geven. Als u gegevens van een bepaalde indeling van het Klembord wilt ophalen, roept u eerst de juiste Containsindelingsmethode (zoals ContainsText) aan om te bepalen of het Klembord gegevens in die indeling bevat en roept u vervolgens de juiste Getindelingsmethode (zoals GetText) aan om de gegevens op te halen als het Klembord deze bevat. Als u de indeling in deze bewerkingen wilt opgeven, roept u in plaats daarvan de ContainsData en GetData methoden aan.

Note

Alle op Windows gebaseerde toepassingen delen het klembord van het systeem, zodat de inhoud kan worden gewijzigd wanneer u overschakelt naar een andere toepassing.

Een object moet serialiseerbaar zijn om het op het Klembord te kunnen plaatsen. Als u een niet-serialiseerbare object doorgeeft aan een Klembord-methode, mislukt de methode zonder een uitzondering te genereren. Zie System.Runtime.Serialization voor meer informatie over serialisatie. Als uw doeltoepassing een zeer specifieke gegevensindeling vereist, kunnen de headers die zijn toegevoegd aan de gegevens in het serialisatieproces, voorkomen dat de toepassing uw gegevens herkent. Als u de gegevensindeling wilt behouden, voegt u uw gegevens toe als een Byte matrix aan een MemoryStream en geeft u de MemoryStreamSetData methode door.

De Clipboard klasse kan alleen worden gebruikt in threads die zijn ingesteld op de STA-modus (Single Thread Apartment). Als u deze klasse wilt gebruiken, moet u ervoor zorgen dat uw Main methode is gemarkeerd met het kenmerk STAThreadAttribute.

Er zijn mogelijk speciale overwegingen nodig bij het gebruik van de metabestandindeling met het Klembord. Vanwege een beperking in de huidige implementatie van de klasse DataObject, wordt de metabestandindeling die wordt gebruikt door het .NET Framework mogelijk niet herkend door toepassingen die een oudere metabestandindeling gebruiken. In dit geval moet u samenwerken met de Win32 Klembord application programming interfaces (API's).

Methoden

Name Description
Clear()

Hiermee verwijdert u alle gegevens van het Klembord.

ContainsAudio()

Hiermee wordt aangegeven of er gegevens op het Klembord in de WaveAudio indeling staan.

ContainsData(String)

Hiermee wordt aangegeven of er gegevens op het Klembord staan die de opgegeven indeling hebben of naar die indeling kunnen worden geconverteerd.

ContainsFileDropList()

Hiermee wordt aangegeven of er gegevens op het Klembord staan die de FileDrop indeling hebben of naar die indeling kunnen worden geconverteerd.

ContainsImage()

Hiermee wordt aangegeven of er gegevens op het Klembord staan die de Bitmap indeling hebben of naar die indeling kunnen worden geconverteerd.

ContainsText()

Hiermee wordt aangegeven of er gegevens op het Klembord in de Text of UnicodeText indeling staan, afhankelijk van het besturingssysteem.

ContainsText(TextDataFormat)

Hiermee wordt aangegeven of er tekstgegevens op het Klembord staan in de indeling die wordt aangegeven door de opgegeven TextDataFormat waarde.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetAudioStream()

Hiermee haalt u een audiostream op van het Klembord.

GetData(String)

Hiermee worden gegevens opgehaald van het Klembord in de opgegeven indeling.

GetDataObject()

Hiermee worden de gegevens opgehaald die zich momenteel op het klembord van het systeem bevinden.

GetFileDropList()

Hiermee haalt u een verzameling bestandsnamen op van het Klembord.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetImage()

Hiermee haalt u een afbeelding op van het Klembord.

GetText()

Hiermee worden tekstgegevens opgehaald van het Klembord in de Text of UnicodeText indeling, afhankelijk van het besturingssysteem.

GetText(TextDataFormat)

Hiermee worden tekstgegevens opgehaald van het Klembord in de indeling die wordt aangegeven door de opgegeven TextDataFormat waarde.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
SetAudio(Byte[])

Hiermee wist u het Klembord en voegt u vervolgens een Byte matrix toe in de WaveAudio indeling nadat u het hebt geconverteerd naar een Stream.

SetAudio(Stream)

Hiermee wist u het Klembord en voegt u een Stream in de WaveAudio indeling toe.

SetData(String, Object)

Hiermee wist u het Klembord en voegt u gegevens toe in de opgegeven indeling.

SetDataObject(Object, Boolean, Int32, Int32)

Wist het Klembord en probeert vervolgens het opgegeven aantal keren gegevens op het klembord te plaatsen en met de opgegeven vertraging tussen pogingen, eventueel de gegevens op het Klembord te verlaten nadat de toepassing is afgesloten.

SetDataObject(Object, Boolean)

Hiermee wist u het Klembord en plaatst u gegevens op het klembord en geeft u op of de gegevens moeten blijven nadat de toepassing is afgesloten.

SetDataObject(Object)

Hiermee wist u het Klembord en plaatst u er vervolgens niet-persistente gegevens op.

SetFileDropList(StringCollection)

Hiermee wist u het Klembord en voegt u vervolgens een verzameling bestandsnamen toe in de FileDrop indeling.

SetImage(Image)

Hiermee wist u het Klembord en voegt u een Image in de Bitmap indeling toe.

SetText(String, TextDataFormat)

Hiermee wist u het Klembord en voegt u tekstgegevens toe in de indeling die wordt aangegeven met de opgegeven TextDataFormat waarde.

SetText(String)

Hiermee wist u het Klembord en voegt u tekstgegevens toe in de Text of UnicodeText indeling, afhankelijk van het besturingssysteem.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook