Clipboard Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia metody umieszczania danych na schowku systemowym i pobierania ich z schowka. Klasa ta nie może być dziedziczona.
public ref class Clipboard sealed
public ref class Clipboard abstract sealed
public sealed class Clipboard
public static class Clipboard
type Clipboard = class
Public NotInheritable Class Clipboard
Public Class Clipboard
- Dziedziczenie
-
Clipboard
Przykłady
Poniższy przykład kodu używa Clipboard metod umieszczania danych w schowku systemu i pobierania ich z schowka systemowego. W tym kodzie przyjęto założeniebutton1
, że zostały utworzone i button2
textBox1
textBox2
umieszczone w formularzu.
Metoda button1_Click
wywołuje metodę SetDataObject , aby pobrać zaznaczony tekst z pola tekstowego i umieścić go w schowku systemowym.
Metoda button2_Click
wywołuje metodę GetDataObject pobierania danych ze Schowka systemowego. Kod używa IDataObject metody i DataFormats wyodrębnia zwróconych danych i wyświetla dane w pliku 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 uzyskać listę wstępnie zdefiniowanych formatów do użycia z klasą Clipboard , zobacz klasę DataFormats .
Wywołaj metodę SetDataObject , aby umieścić dane w Schowku, zastępując jego bieżącą zawartość. Aby umieścić trwałą kopię danych w Schowku, ustaw copy
parametr na true
.
Uwaga
Aby umieścić dane w Schowku w wielu formatach, użyj DataObject klasy lub implementacji IDataObject . Umieść dane w Schowku w wielu formatach, aby zmaksymalizować możliwość, że aplikacja docelowa, której wymagania dotyczące formatu mogą nie być znane, mogą pomyślnie pobrać dane.
Wywołaj metodę GetDataObject , aby pobrać dane ze Schowka. Dane są zwracane jako obiekt implementujący IDataObject interfejs. Użyj metod określonych przez IDataObject i pól w programie, DataFormats aby wyodrębnić dane z obiektu. Jeśli nie znasz formatu pobranych danych, wywołaj GetFormats metodę interfejsu IDataObject , aby uzyskać listę wszystkich formatów przechowywanych w danych. Następnie wywołaj metodę GetData interfejsu IDataObject i określ format, którego aplikacja może użyć.
W .NET Framework 2.0 Clipboard klasa udostępnia dodatkowe metody, które ułatwiają pracę ze schowkiem systemowym. Wywołaj metodę , Clear aby usunąć wszystkie dane ze Schowka. Aby dodać dane określonego formatu do Schowka, zastępując istniejące dane, wywołaj odpowiednią Set
metodę Format, taką jak SetText, lub wywołaj SetData metodę , aby określić format. Aby pobrać dane określonego formatu ze Schowka, najpierw wywołaj odpowiednią metodę Format (npContainsText. ) w celu ustalenia, czy Schowek zawiera dane w tym formacie, a następnie wywołaj odpowiednią Get
Contains
metodę Format (na GetTextprzykład ) w celu pobrania danych, jeśli schowek zawiera. Aby określić format w tych operacjach, wywołaj ContainsData metody i GetData .
Uwaga
Wszystkie aplikacje oparte na systemie Windows współużytkują schowek systemowy, więc zawartość może ulec zmianie po przełączeniu się do innej aplikacji.
Obiekt musi być serializowalny, aby można go było umieścić w Schowku. W przypadku przekazania obiektu nies serializowalnego do metody Schowka metoda zakończy się niepowodzeniem bez zgłaszania wyjątku. Aby uzyskać więcej informacji na temat serializacji, zobacz System.Runtime.Serialization . Jeśli aplikacja docelowa wymaga bardzo konkretnego formatu danych, nagłówki dodane do danych w procesie serializacji mogą uniemożliwić aplikacji rozpoznawanie danych. Aby zachować format danych, dodaj dane jako tablicę Byte do MemoryStream obiektu i przekaż MemoryStream do SetData metody .
Klasa Clipboard może być używana tylko w wątkach ustawionych na tryb pojedynczego wątku (STA). Aby użyć tej klasy, upewnij się, że Main
metoda jest oznaczona atrybutem STAThreadAttribute .
W przypadku używania formatu metapliku ze Schowkiem mogą być konieczne specjalne zagadnienia. Ze względu na ograniczenie w bieżącej implementacji klasy format metapliku DataObject używany przez .NET Framework może nie być rozpoznawany przez aplikacje używające starszego formatu metapliku. W takim przypadku należy współpracować z interfejsami programowania aplikacji Schowka Win32 (API).
Metody
Clear() |
Usuwa wszystkie dane ze Schowka. |
ContainsAudio() |
Wskazuje, czy w schowku znajdują się dane w WaveAudio formacie. |
ContainsData(String) |
Wskazuje, czy istnieją dane w Schowku, które są w określonym formacie, czy można je przekonwertować na ten format. |
ContainsFileDropList() |
Wskazuje, czy w Schowku znajdują się dane w FileDrop formacie, czy można je przekonwertować na ten format. |
ContainsImage() |
Wskazuje, czy w Schowku znajdują się dane w Bitmap formacie, czy można je przekonwertować na ten format. |
ContainsText() |
Wskazuje, czy w schowku znajdują się dane w Text formacie lub UnicodeText w zależności od systemu operacyjnego. |
ContainsText(TextDataFormat) |
Wskazuje, czy w Schowku znajdują się dane tekstowe w formacie wskazanym przez określoną TextDataFormat wartość. |
GetAudioStream() |
Pobiera strumień audio ze Schowka. |
GetData(String) |
Pobiera dane ze Schowka w określonym formacie. |
GetDataObject() |
Pobiera dane, które są obecnie w schowku systemowym. |
GetFileDropList() |
Pobiera kolekcję nazw plików ze Schowka. |
GetImage() |
Pobiera obraz ze Schowka. |
GetText() |
Pobiera dane tekstowe ze Schowka w formacie lub UnicodeText w Text zależności od systemu operacyjnego. |
GetText(TextDataFormat) |
Pobiera dane tekstowe ze Schowka w formacie wskazanym przez określoną TextDataFormat wartość. |
SetAudio(Byte[]) |
Czyści schowek, a następnie dodaje tablicę Byte w WaveAudio formacie po przekonwertowaniu jej na obiekt Stream. |
SetAudio(Stream) |
Czyści schowek, a następnie dodaje element Stream w WaveAudio formacie. |
SetData(String, Object) |
Czyści schowek, a następnie dodaje dane w określonym formacie. |
SetDataObject(Object) |
Czyści schowek, a następnie umieszcza na nim dane niepersistentne. |
SetDataObject(Object, Boolean) |
Czyści schowek, a następnie umieszcza na nim dane i określa, czy dane powinny pozostać po zakończeniu działania aplikacji. |
SetDataObject(Object, Boolean, Int32, Int32) |
Czyści schowek, a następnie próbuje umieścić na nim dane o określonej liczbie i z określonym opóźnieniem między próbami, opcjonalnie pozostawiając dane w Schowku po zakończeniu działania aplikacji. |
SetFileDropList(StringCollection) |
Czyści schowek, a następnie dodaje kolekcję nazw plików w FileDrop formacie. |
SetImage(Image) |
Czyści schowek, a następnie dodaje element Image w Bitmap formacie. |
SetText(String) |
Czyści schowek, a następnie dodaje dane tekstowe w Text formacie lub UnicodeText w zależności od systemu operacyjnego. |
SetText(String, TextDataFormat) |
Czyści schowek, a następnie dodaje dane tekstowe w formacie wskazanym przez określoną TextDataFormat wartość. |