Clipboard Klasa

Definicja

Zapewnia metody umieszczania danych i pobierania danych ze schowka systemowego.Provides methods to place data on and retrieve data from the system Clipboard. Klasa ta nie może być dziedziczona.This class cannot be inherited.

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

Przykłady

Poniższy przykład kodu używa metod Clipboard, aby umieścić dane i pobrać je ze schowka systemowego.The following code example uses Clipboard methods to place data on and retrieve it from the system Clipboard. Ten kod przyjmuje button1, button2, textBox1i textBox2 zostały utworzone i umieszczone w formularzu.This code assumes button1, button2, textBox1, and textBox2 have been created and placed on the form.

Metoda button1_Click wywołuje SetDataObject do zamierzania zaznaczonego tekstu w polu tekstowym i umieszcza je w schowku systemowym.The button1_Click method calls SetDataObject to take selected text from the text box and place it on the system Clipboard.

Metoda button2_Click wywołuje GetDataObject do pobierania danych ze schowka systemowego.The button2_Click method calls GetDataObject to retrieve data from the system Clipboard. Kod używa IDataObject i DataFormats do wyodrębnienia danych zwracanych i wyświetla dane w textBox2.The code uses IDataObject and DataFormats to extract the data returned and displays the data 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

Uwagi

Aby zapoznać się z listą wstępnie zdefiniowanych formatów do użycia z klasą Clipboard, zobacz klasy DataFormats.For a list of predefined formats to use with the Clipboard class, see the DataFormats class.

Wywołaj SetDataObject, aby umieścić dane w schowku, zastępując jego bieżącą zawartość.Call SetDataObject to put data on the Clipboard, replacing its current contents. Aby umieścić trwałą kopię danych w schowku, ustaw parametr copy na true.To place a persistent copy of the data on the Clipboard, set the copy parameter to true.

Uwaga

Aby umieścić dane w schowku w wielu formatach, użyj klasy DataObject lub implementacji IDataObject.To place data on the Clipboard in multiple formats, use the DataObject class or an IDataObject implementation. Umieść dane w schowku w wielu formatach, aby zmaksymalizować prawdopodobieństwo, że aplikacja docelowa, której wymagania dotyczące formatu mogą nie być znane, można pomyślnie pobrać dane.Place data on the Clipboard in multiple formats to maximize the possibility that a target application, whose format requirements you might not know, can successfully retrieve the data.

Wywołaj GetDataObject, aby pobrać dane ze schowka.Call GetDataObject to retrieve data from the Clipboard. Dane są zwracane jako obiekt implementujący interfejs IDataObject.The data is returned as an object that implements the IDataObject interface. Użyj metod określonych przez IDataObject i pól w DataFormats, aby wyodrębnić dane z obiektu.Use the methods specified by IDataObject and fields in DataFormats to extract the data from the object. Jeśli nie znasz formatu pobranych danych, wywołaj metodę GetFormats interfejsu IDataObject, aby uzyskać listę wszystkich formatów, w których są przechowywane dane.If you do not know the format of the data you retrieved, call the GetFormats method of the IDataObject interface to get a list of all formats that data is stored in. Następnie Wywołaj metodę GetData interfejsu IDataObject i określ format, który może być używany przez aplikację.Then call the GetData method of the IDataObject interface, and specify a format that your application can use.

W .NET Framework 2.0.NET Framework 2.0Klasa Clipboard oferuje dodatkowe metody, które ułatwiają pracę ze schowkiem systemowym.In .NET Framework 2.0.NET Framework 2.0, the Clipboard class provides additional methods that make it easier to work with the system Clipboard. Wywołaj metodę Clear, aby usunąć wszystkie dane ze schowka.Call the Clear method to remove all data from the Clipboard. Aby dodać dane określonego formatu do schowka, zastępując istniejące dane, wywołaj odpowiednie metody formatowania Set, takie jak SetText, lub wywołaj metodę SetData, aby określić format.To add data of a particular format to the Clipboard, replacing the existing data, call the appropriate SetFormat method, such as SetText, or call the SetData method to specify the format. Aby pobrać dane określonego formatu ze schowka, najpierw Wywołaj odpowiednią metodę formatu Contains(taką jak ContainsText), aby określić, czy Schowek zawiera dane w tym formacie, a następnie Wywołaj odpowiednią metodę formatowania Get(na przykład GetText), aby pobrać dane, jeśli schowek ją zawiera.To retrieve data of a particular format from the Clipboard, first call the appropriate ContainsFormat method (such as ContainsText) method to determine whether the Clipboard contains data in that format, and then call the appropriate GetFormat method (such as GetText) to retrieve the data if the Clipboard contains it. Aby określić format w tych operacjach, wywołaj metody ContainsData i GetData.To specify the format in these operations, call the ContainsData and GetData methods instead.

Uwaga

Wszystkie aplikacje oparte na systemie Windows współdzielą Schowek systemu, więc zawartość może ulec zmianie po przełączeniu do innej aplikacji.All Windows-based applications share the system Clipboard, so the contents are subject to change when you switch to another application.

Obiekt musi być możliwy do serializacji, aby można go było umieścić w Schowku.An object must be serializable for it to be put on the Clipboard. Jeśli przekazanie obiektu, którego nie można serializować, do metody Schowka, metoda zakończy się niepowodzeniem bez zgłaszania wyjątku.If you pass a non-serializable object to a Clipboard method, the method will fail without throwing an exception. Aby uzyskać więcej informacji na temat serializacji, zobacz System.Runtime.Serialization.See System.Runtime.Serialization for more information on serialization. Jeśli aplikacja docelowa wymaga bardzo określonego formatu danych, nagłówki dodane do danych w procesie serializacji mogą uniemożliwiać aplikacji rozpoznawanie danych.If your target application requires a very specific data format, the headers added to the data in the serialization process may prevent the application from recognizing your data. Aby zachować format danych, Dodaj dane jako tablicę Byte do MemoryStream i przekaż MemoryStream do metody SetData.To preserve your data format, add your data as a Byte array to a MemoryStream and pass the MemoryStream to the SetData method.

Klasy Clipboard można używać tylko w wątkach ustawionych na tryb Single Thread Apartment (STA).The Clipboard class can only be used in threads set to single thread apartment (STA) mode. Aby użyć tej klasy, należy się upewnić, że metoda Main jest oznaczona atrybutem STAThreadAttribute.To use this class, ensure that your Main method is marked with the STAThreadAttribute attribute.

W przypadku używania formatu metapliku ze schowka mogą być konieczne specjalne uwagi.Special considerations may be necessary when using the metafile format with the Clipboard. Ze względu na ograniczenie bieżącej implementacji klasy DataObject format metapliku używany przez .NET Framework może nie być rozpoznawany przez aplikacje korzystające ze starszego formatu metapliku.Due to a limitation in the current implementation of the DataObject class, the metafile format used by the .NET Framework may not be recognized by applications that use an older metafile format. W takim przypadku należy współpracować z interfejsem programowania aplikacji (API) w schowku Win32.In this case, you must interoperate with the Win32 Clipboard application programming interfaces (APIs).

Metody

Clear()

Usuwa wszystkie dane ze schowka.Removes all data from the Clipboard.

ContainsAudio()

Wskazuje, czy w schowku w formacie WaveAudio znajdują się dane.Indicates whether there is data on the Clipboard in the WaveAudio format.

ContainsData(String)

Wskazuje, czy w schowku znajdują się dane w określonym formacie lub można je przekonwertować na ten format.Indicates whether there is data on the Clipboard that is in the specified format or can be converted to that format.

ContainsFileDropList()

Wskazuje, czy w schowku znajdują się dane, które znajdują się w formacie FileDrop lub można je przekonwertować na ten format.Indicates whether there is data on the Clipboard that is in the FileDrop format or can be converted to that format.

ContainsImage()

Wskazuje, czy w schowku znajdują się dane, które znajdują się w formacie Bitmap lub można je przekonwertować na ten format.Indicates whether there is data on the Clipboard that is in the Bitmap format or can be converted to that format.

ContainsText()

Wskazuje, czy w danym formacie Text lub UnicodeText znajdują się dane, w zależności od systemu operacyjnego.Indicates whether there is data on the Clipboard in the Text or UnicodeText format, depending on the operating system.

ContainsText(TextDataFormat)

Wskazuje, czy w schowku znajdują się dane tekstowe w formacie wskazanym przez określoną wartość TextDataFormat.Indicates whether there is text data on the Clipboard in the format indicated by the specified TextDataFormat value.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetAudioStream()

Pobiera strumień audio ze schowka.Retrieves an audio stream from the Clipboard.

GetData(String)

Pobiera dane ze schowka w określonym formacie.Retrieves data from the Clipboard in the specified format.

GetDataObject()

Pobiera dane znajdujące się obecnie w schowku systemowym.Retrieves the data that is currently on the system Clipboard.

GetFileDropList()

Pobiera kolekcję nazw plików ze schowka.Retrieves a collection of file names from the Clipboard.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetImage()

Pobiera obraz ze schowka.Retrieves an image from the Clipboard.

GetText()

Pobiera dane tekstowe ze schowka w formacie Text lub UnicodeText, w zależności od systemu operacyjnego.Retrieves text data from the Clipboard in the Text or UnicodeText format, depending on the operating system.

GetText(TextDataFormat)

Pobiera dane tekstowe ze schowka w formacie wskazanym przez określoną wartość TextDataFormat.Retrieves text data from the Clipboard in the format indicated by the specified TextDataFormat value.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
SetAudio(Byte[])

Czyści schowek, a następnie dodaje tablicę Byte w formacie WaveAudio po przeprowadzeniu konwersji na Stream.Clears the Clipboard and then adds a Byte array in the WaveAudio format after converting it to a Stream.

SetAudio(Stream)

Czyści schowek, a następnie dodaje Stream w formacie WaveAudio.Clears the Clipboard and then adds a Stream in the WaveAudio format.

SetData(String, Object)

Czyści schowek, a następnie dodaje dane w określonym formacie.Clears the Clipboard and then adds data in the specified format.

SetDataObject(Object)

Czyści schowek, a następnie umieszcza w nim nietrwałe dane.Clears the Clipboard and then places nonpersistent data on it.

SetDataObject(Object, Boolean)

Czyści schowek, a następnie umieszcza w nim dane i określa, czy dane powinny pozostać po zakończeniu działania aplikacji.Clears the Clipboard and then places data on it and specifies whether the data should remain after the application exits.

SetDataObject(Object, Boolean, Int32, Int32)

Czyści schowek, a następnie próbuje umieścić na nim dane określoną liczbę razy i z określonym opóźnieniem między próbami, opcjonalnie pozostawiając dane w Schowku po zakończeniu działania aplikacji.Clears the Clipboard and then attempts to place data on it the specified number of times and with the specified delay between attempts, optionally leaving the data on the Clipboard after the application exits.

SetFileDropList(StringCollection)

Czyści schowek, a następnie dodaje kolekcję nazw plików w formacie FileDrop.Clears the Clipboard and then adds a collection of file names in the FileDrop format.

SetImage(Image)

Czyści schowek, a następnie dodaje Image w formacie Bitmap.Clears the Clipboard and then adds an Image in the Bitmap format.

SetText(String)

Czyści schowek, a następnie dodaje dane tekstowe w formacie Text lub UnicodeText, w zależności od systemu operacyjnego.Clears the Clipboard and then adds text data in the Text or UnicodeText format, depending on the operating system.

SetText(String, TextDataFormat)

Czyści schowek, a następnie dodaje dane tekstowe w formacie wskazanym przez określoną wartość TextDataFormat.Clears the Clipboard and then adds text data in the format indicated by the specified TextDataFormat value.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy

Zobacz też