Sdílet prostřednictvím


Clipboard Třída

Definice

Poskytuje metody pro umístění dat do a načtení dat ze systémové schránky. 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, button2, textBox1a textBox2 byly vytvořeny a umístěny ve formuláři.

Metoda button1_Click volá SetDataObject , aby převzala vybraný text z textového pole a umístila ho do systémové schránky.

Metoda button2_Click volá GetDataObject pro načtení dat ze schránky systému. Kód použije IDataObject a DataFormats k extrahování vrácených dat a zobrazí data v textBox2souboru .

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ím SetDataObject vložíte data do schránky a nahradíte jejich aktuální obsah. Chcete-li umístit trvalou kopii dat do schránky, nastavte copy parametr na truehodnotu .

Poznámka

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 v několika formátech, abyste maximalizovali možnost, že cílová aplikace, jejíž požadavky na formát možná neznáte, může data úspěšně načíst.

Voláním GetDataObject načtěte data ze schránky. Data jsou vrácena jako objekt, který implementuje IDataObject rozhraní. K extrahování dat z objektu použijte metody určené polem IDataObject a DataFormats . Pokud neznáte formát načtených dat, zavolejte metodu GetFormatsIDataObject rozhraní, abyste získali seznam všech formátů, ve kterých jsou data uložená. Pak zavolejte GetData metodu IDataObject rozhraní a zadejte formát, který může aplikace použít.

V rozhraní .NET Framework 2.0 Clipboard třída poskytuje další metody, které usnadňují práci se systémovou schránkou. Voláním Clear metody odeberte všechna data ze schránky. Chcete-li přidat data určitého formátu do schránky a nahradit existující data, zavolejte příslušnou Set metodu Format, například SetText, nebo zavolejte metodu SetData pro určení formátu. Chcete-li načíst data určitého formátu ze schránky, nejprve zavolejte příslušnou Contains metodu Format (například ContainsText) metodu určit, zda schránka obsahuje data v tomto formátu, a pak voláním příslušné Get metody Format (například GetText) načtěte data, pokud je schránka obsahuje. Chcete-li určit formát v těchto operacích, místo toho volejte ContainsData metody a GetData .

Poznámka

Všechny aplikace založené na systému Windows sdílejí systémovou schránku, takže se při přechodu na jinou aplikaci může obsah změnit.

Objekt musí být serializovatelný, aby se dal umístit do schránky. Pokud předáte objekt, který nelze serializovat do metody Clipboard, metoda selže bez vyvolání výjimky. Další informace o serializaci najdete v tématu System.Runtime.Serialization . Pokud cílová aplikace vyžaduje velmi specifický datový formát, hlavičky přidané k datům v procesu serializace můžou bránit aplikaci v rozpoznávání vašich dat. Chcete-li zachovat formát dat, přidejte data jako Byte pole do MemoryStream a předejte MemoryStream metodě SetData .

Třídu 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 Main metoda označena atributem STAThreadAttribute .

Při použití formátu metasouboru se schránkou může být potřeba vzít v úvahu zvláštní aspekty. Vzhledem k omezení v aktuální implementaci DataObject třídy, metasouborový formát používaný rozhraním .NET Framework nemusí být rozpoznán aplikacemi, které používají starší formát metasouboru. V tomto případě musíte spolupracovat s rozhraními API (Api) aplikací schránky Win32.

Metody

Clear()

Odebere všechna data ze schránky.

ContainsAudio()

Označuje, jestli jsou data ve schránce ve WaveAudio formátu.

ContainsData(String)

Určuje, jestli jsou ve schránce data, která jsou v zadaném formátu nebo mohou být převedena do daného formátu.

ContainsFileDropList()

Určuje, zda jsou data ve schránce ve FileDrop formátu nebo lze převést na tento formát.

ContainsImage()

Určuje, zda jsou data ve schránce ve Bitmap formátu nebo lze převést na tento formát.

ContainsText()

Určuje, jestli jsou ve schránce data ve Text formátu nebo UnicodeText v závislosti na operačním systému.

ContainsText(TextDataFormat)

Určuje, zda jsou textová data ve schránce ve formátu označeném zadanou TextDataFormat hodnotou.

GetAudioStream()

Načte zvukový stream ze schránky.

GetData(String)

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 Text formátu nebo UnicodeText v 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 Streamna .

SetAudio(Stream)

Vymaže schránku a pak přidá Stream objekt ve WaveAudio formátu.

SetData(String, Object)

Vymaže schránku a pak přidá data v zadaném formátu.

SetDataObject(Object)

Vymaže schránku a umístí do ní nepersistentní data.

SetDataObject(Object, Boolean)

Vymaže schránku a pak do ní umístí data a určí, jestli mají data zůstat i po ukončení aplikace.

SetDataObject(Object, Boolean, Int32, Int32)

Vymaže schránku a pak se pokusí umístit data do ní zadaný počet a se zadaným zpožděním mezi pokusy, volitelně ponechá data ve schránce po ukončení aplikace.

SetFileDropList(StringCollection)

Vymaže schránku a pak přidá kolekci názvů souborů ve FileDrop formátu.

SetImage(Image)

Vymaže schránku a pak přidá objekt Image ve Bitmap formátu.

SetText(String)

Vymaže schránku a pak přidá textová data ve formátu nebo UnicodeText v Text závislosti na operačním systému.

SetText(String, TextDataFormat)

Vymaže schránku a pak přidá textová data ve formátu určeném zadanou TextDataFormat hodnotou.

Platí pro

Viz také