Clipboard Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje metody pro umístění dat do systémové schránky a jejich načtení. Tato třída se nemůže dědit.
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
- Dědičnost
-
Clipboard
Příklady
Následující příklad kódu používá Clipboard metody k umístění dat a jejich načtení ze systémové schránky. Tento kód předpokládá button1, , button2textBox1a byly vytvořeny a textBox2 umístěny ve formuláři.
Volání button1_Click metody, SetDataObject která vezme vybraný text z textového pole a umístí ho do systémové schránky.
Metoda button2_Click volá GetDataObject načtení dat ze systémové schránky. Kód používá IDataObject a DataFormats extrahuje vrácená data a zobrazí data v 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
Poznámky
Seznam předdefinovaných formátů, které se mají použít s Clipboard třídou, najdete v DataFormats této třídě.
Volání SetDataObject pro vložení dat do schránky a nahrazení jejího aktuálního obsahu Chcete-li umístit trvalou kopii dat do schránky, nastavte copy parametr na true.
Note
Pokud chcete umístit data do schránky ve více formátech, použijte DataObject třídu nebo implementaci IDataObject . Umístěte data do schránky ve více formátech, abyste maximalizovali možnost, že cílová aplikace, jejíž požadavky na formát nemusíte vědět, mohou data úspěšně načíst.
Volání GetDataObject pro načtení dat ze schránky Data se vrátí jako objekt, který implementuje IDataObject rozhraní. Pomocí metod určených podle IDataObject polí DataFormats extrahujte data z objektu. Pokud neznáte formát načtených dat, zavolejte GetFormats metodu IDataObject rozhraní a získejte seznam všech formátů, ve kterých jsou data uložená. Potom zavolejte GetData metodu IDataObject rozhraní a zadejte formát, který může vaše aplikace použít.
Třída Clipboard poskytuje další metody, které usnadňují práci se systémovou schránkou.
Clear Voláním metody odeberte všechna data ze schránky. Chcete-li do schránky přidat data určitého formátu, nahraďte stávající data voláním příslušné Set metody Format, například SetTextnebo voláním SetData metody určit formát. Chcete-li načíst data určitého formátu ze schránky, nejprve zavolejte příslušnou Contains metodu Format (napříkladContainsText) k určení, zda schránka obsahuje data v tomto formátu, a potom zavolejte příslušnou Get metodu Format (napříkladGetText) pro načtení dat, pokud je schránka obsahuje. Chcete-li zadat formát v těchto operacích, volejte ContainsData místo toho metody a GetData metody.
Note
Všechny Windows aplikace sdílejí systémovou schránku, takže obsah se může při přepnutí na jinou aplikaci změnit.
Objekt musí být serializovatelný, aby byl umístěn do Schránky. Pokud předáte ne serializovatelný objekt do schránky metoda, metoda selže bez vyvolání výjimky. Další System.Runtime.Serialization informace o serializaci. Pokud vaše cílová aplikace vyžaduje velmi specifický formát dat, mohou hlavičky přidané do dat v procesu serializace zabránit tomu, aby aplikace nerozpoznala vaše data. Chcete-li zachovat formát dat, přidejte data jako Byte pole do MemoryStream a předejte MemoryStream metodě SetData .
Třída Clipboard lze použít pouze ve vláknech nastavených na režim jednovláknového apartmentu (STA). Chcete-li použít tuto třídu, ujistěte se, že je vaše metoda Main označena atributem STAThreadAttribute.
Při použití formátu metasouboru se schránkou můžou být nezbytné zvláštní aspekty. Vzhledem k omezení v aktuální implementaci třídy DataObject nemusí být formát metasouboru používaný rozhraním .NET Framework rozpoznán aplikacemi, které používají starší formát metasouboru. V tomto případě musíte spolupracovat s programovacími rozhraními (API) schránky Win32.
Metody
| Name | Description |
|---|---|
| Clear() |
Odebere všechna data ze schránky. |
| ContainsAudio() |
Určuje, zda jsou ve schránce ve WaveAudio formátu data. |
| ContainsData(String) |
Určuje, zda jsou data ve schránce, která jsou v zadaném formátu nebo lze převést na tento formát. |
| ContainsFileDropList() |
Označuje, zda jsou ve schránce data, která jsou ve FileDrop formátu, nebo lze převést na tento formát. |
| ContainsImage() |
Označuje, zda jsou ve schránce data, která jsou ve Bitmap formátu, nebo lze převést na tento formát. |
| ContainsText() |
Určuje, jestli v závislosti na operačním systému existují data ve schránce nebo TextUnicodeText ve formátu. |
| ContainsText(TextDataFormat) |
Určuje, zda jsou textová data ve schránce ve formátu určeném zadanou TextDataFormat hodnotou. |
| GetAudioStream() |
Načte zvukový stream ze schránky. |
| GetData(String) |
Zastaralé.
Načte data ze schránky v zadaném formátu. |
| GetDataObject() |
Načte data, která jsou aktuálně v systémové schránce. |
| GetFileDropList() |
Načte kolekci názvů souborů ze schránky. |
| GetImage() |
Načte obrázek ze schránky. |
| GetText() |
Načte textová data ze schránky ve formátu nebo Text v UnicodeText závislosti na operačním systému. |
| GetText(TextDataFormat) |
Načte textová data ze schránky ve formátu určeném zadanou TextDataFormat hodnotou. |
| SetAudio(Byte[]) |
Vymaže schránku a potom přidá Byte pole ve WaveAudio formátu po převodu na .Stream |
| SetAudio(Stream) | |
| SetData(String, Object) |
Vymaže schránku a pak přidá data v zadaném formátu. |
| SetDataAsJson<T>(String, T) |
Poskytuje metody pro umístění dat do systémové schránky a jejich načtení. Tato třída se nemůže dědit. |
| SetDataObject(Object, Boolean, Int32, Int32) |
Vymaže schránku a pokusí se na ni umístit data zadaným počtem pokusů a se zadaným zpožděním mezi pokusy, volitelně ponechá data ve schránce po ukončení aplikace. |
| SetDataObject(Object, Boolean) |
Vymaže schránku a umístí do ní data a určí, jestli mají data zůstat po ukončení aplikace. |
| SetDataObject(Object) |
Vymaže schránku a umístí do ní nepersistentná data. |
| SetFileDropList(StringCollection) |
Vymaže schránku a potom přidá kolekci názvů souborů ve FileDrop formátu. |
| SetImage(Image) | |
| SetText(String, TextDataFormat) |
Vymaže schránku a potom přidá textová data ve formátu určeném zadanou TextDataFormat hodnotou. |
| SetText(String) |
Vymaže schránku a pak přidá textová data v TextUnicodeText závislosti na operačním systému. |
| TryGetData<T>(String, Func<TypeName,Type>, T) |
Poskytuje metody pro umístění dat do systémové schránky a jejich načtení. Tato třída se nemůže dědit. |
| TryGetData<T>(String, T) |
Poskytuje metody pro umístění dat do systémové schránky a jejich načtení. Tato třída se nemůže dědit. |
| TryGetData<T>(T) |
Poskytuje metody pro umístění dat do systémové schránky a jejich načtení. Tato třída se nemůže dědit. |