Clipboard Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sistem Panosu'na veri yerleştirmek ve bu panodan veri almak için yöntemler sağlar. Bu sınıf devralınamaz.
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
- Devralma
-
Clipboard
Örnekler
Aşağıdaki kod örneği, verileri sistem Panosu'na yerleştirmek ve sistem Panosu'ndan almak için yöntemleri kullanır Clipboard . Bu kod , , button1button2ve öğesinin oluşturulduğunu ve textBox1 forma yerleştirildiğini varsayartextBox2.
yöntemi, button1_Click seçili metni metin kutusundan alıp sistem Panosu'na yerleştirmeyi çağırır SetDataObject .
yöntemi, button2_Click sistem Panosu'ndan veri almak için öğesini çağırır GetDataObject . Kod, döndürülen verileri ayıklamak için ve IDataObject kullanır DataFormats ve içindeki textBox2verileri görüntüler.
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
Açıklamalar
sınıfıyla kullanılacak önceden tanımlanmış biçimlerin Clipboard listesi için sınıfına DataFormats bakın.
Geçerli içeriğini değiştirerek Pano'ya veri yerleştirmek için çağrısı SetDataObject . Verilerin kalıcı bir kopyasını Pano'ya yerleştirmek için parametresini copy olarak trueayarlayın.
Note
Pano'ya birden çok biçimde veri yerleştirmek için sınıfını DataObject veya bir IDataObject uygulamayı kullanın. Biçim gereksinimlerini bilmediğiniz bir hedef uygulamanın verileri başarıyla alabilmesi olasılığını en üst düzeye çıkarmak için panoya verileri birden çok biçimde yerleştirin.
Pano'dan veri almak için çağrısı GetDataObject . Veriler, arabirimini uygulayan IDataObject bir nesne olarak döndürülür. nesnesinden verileri ayıklamak için ve alanları IDataObject tarafından DataFormats belirtilen yöntemleri kullanın. Aldığınız verilerin biçimini bilmiyorsanız, verilerin depolandığı tüm biçimlerin listesini almak için arabiriminin yöntemini GetFormats çağırınIDataObject. Ardından arabiriminin GetData yöntemini çağırın IDataObject ve uygulamanızın kullanabileceği bir biçim belirtin.
sınıfı, Clipboard sistem Panosu ile çalışmayı kolaylaştıran ek yöntemler sağlar. Pano'dan Clear tüm verileri kaldırmak için yöntemini çağırın. Pano'ya belirli bir biçimde veri eklemek, var olan verileri değiştirmek için, gibi Setuygun SetText yöntemini çağırın veya biçimini belirtmek için yöntemini çağırınSetData. Pano'dan belirli bir biçimin verilerini almak için, önce Pano'nun bu biçimde veri içerip içermediğini belirlemek için uygun ContainsFormat yöntemini (örneğin ContainsText) çağırın ve ardından Pano içerdiğinde verileri almak için uygun GetFormat yöntemini (örneğin GetText) çağırın. Bu işlemlerde biçimi belirtmek için ve yöntemlerini çağırın ContainsDataGetData .
Note
Windows tabanlı tüm uygulamalar sistem Panosu'na sahip olduğundan, başka bir uygulamaya geçiş yaptığınızda içerik değiştirilebilir.
Bir nesnenin Pano'ya konulabilmesi için seri hale getirilebilir olması gerekir. Seri hale getirilemez bir nesneyi Bir Pano yöntemine geçirirseniz, yöntem bir özel durum oluşturmadan başarısız olur. Serileştirme hakkında daha fazla bilgi için bkz System.Runtime.Serialization . Hedef uygulamanız çok belirli bir veri biçimi gerektiriyorsa, serileştirme işleminde verilere eklenen üst bilgiler uygulamanın verilerinizi tanımasını engelleyebilir. Veri biçiminizi korumak için, verilerinizi bir Byte dizinine MemoryStream ekleyin ve yöntemine MemoryStream geçirinSetData.
Clipboard sınıfı yalnızca tek iş parçacığı dairesi (STA) moduna ayarlanmış iş parçacıklarında kullanılabilir. Bu sınıfı kullanmak için Main yönteminizin STAThreadAttribute özniteliğiyle işaretlendiğinden emin olun.
Pano ile meta dosyası biçimi kullanılırken dikkat edilmesi gereken özel noktalar olabilir. DataObject sınıfının geçerli uygulamasındaki bir sınırlama nedeniyle, .NET Framework tarafından kullanılan meta dosyası biçimi, eski bir meta dosyası biçimi kullanan uygulamalar tarafından tanınmayabilir. Bu durumda, Win32 Pano uygulaması programlama arabirimleri (API'ler) ile birlikte çalışmanız gerekir.
Yöntemler
| Name | Description |
|---|---|
| Clear() |
Pano'dan tüm verileri kaldırır. |
| ContainsAudio() |
Pano'da WaveAudio biçiminde veri olup olmadığını gösterir. |
| ContainsData(String) |
Pano'da belirtilen biçimde veri olup olmadığını veya bu biçime dönüştürülebileceğini gösterir. |
| ContainsFileDropList() |
Pano'da FileDrop biçiminde veri olup olmadığını veya bu biçime dönüştürülebileceğini gösterir. |
| ContainsImage() |
Pano'da Bitmap biçiminde veri olup olmadığını veya bu biçime dönüştürülebileceğini gösterir. |
| ContainsText() |
panoda Text işletim sistemine bağlı olarak veya UnicodeText biçiminde veri olup olmadığını gösterir. |
| ContainsText(TextDataFormat) |
Pano'da belirtilen TextDataFormat değerle belirtilen biçimde metin verisi olup olmadığını gösterir. |
| GetAudioStream() |
Pano'dan bir ses akışı alır. |
| GetData(String) |
Geçersiz.
Pano'dan verileri belirtilen biçimde alır. |
| GetDataObject() |
Sistem Panosu'nda bulunan verileri alır. |
| GetFileDropList() |
Pano'dan dosya adları koleksiyonunu alır. |
| GetImage() |
Pano'dan bir görüntü alır. |
| GetText() |
İşletim sistemine bağlı olarak Pano'dan Text veya UnicodeText biçiminde metin verilerini alır. |
| GetText(TextDataFormat) |
Pano'dan metin verilerini belirtilen TextDataFormat değerle belirtilen biçimde alır. |
| SetAudio(Byte[]) |
Pano'ya dönüştürdükten sonra panoyu Byte temizler ve biçiminde bir WaveAudiodizi eklerStream. |
| SetAudio(Stream) |
Pano'yu temizler ve ardından biçiminde bir StreamWaveAudio ekler. |
| SetData(String, Object) |
Pano'yu temizler ve ardından verileri belirtilen biçimde ekler. |
| SetDataAsJson<T>(String, T) |
Sistem Panosu'na veri yerleştirmek ve bu panodan veri almak için yöntemler sağlar. Bu sınıf devralınamaz. |
| SetDataObject(Object, Boolean, Int32, Int32) |
Pano'nun işaretini kaldırır ve ardından verileri belirtilen sayıda ve denemeler arasında belirtilen gecikme süresiyle yerleştirmeye çalışır ve isteğe bağlı olarak uygulama çıktıktan sonra verileri Pano'da bırakır. |
| SetDataObject(Object, Boolean) |
Pano'dan temizler ve sonra verileri bu panoya yerleştirir ve verilerin uygulamadan çıktıktan sonra kalıp kalmayacağını belirtir. |
| SetDataObject(Object) |
Panoyu temizler ve sonra bu panoya kalıcı olmayan veriler yerleştirir. |
| SetFileDropList(StringCollection) |
Pano'nun işaretini kaldırır ve ardından biçiminde bir dosya adları FileDrop koleksiyonu ekler. |
| SetImage(Image) |
Pano'yu temizler ve ardından biçiminde bir ImageBitmap ekler. |
| SetText(String, TextDataFormat) |
Pano'nu temizler ve ardından metin verilerini belirtilen TextDataFormat değerle belirtilen biçimde ekler. |
| SetText(String) |
panoyu temizler ve ardından işletim sistemine bağlı olarak veya Text biçiminde metin verileri UnicodeText ekler. |
| TryGetData<T>(String, Func<TypeName,Type>, T) |
Sistem Panosu'na veri yerleştirmek ve bu panodan veri almak için yöntemler sağlar. Bu sınıf devralınamaz. |
| TryGetData<T>(String, T) |
Sistem Panosu'na veri yerleştirmek ve bu panodan veri almak için yöntemler sağlar. Bu sınıf devralınamaz. |
| TryGetData<T>(T) |
Sistem Panosu'na veri yerleştirmek ve bu panodan veri almak için yöntemler sağlar. Bu sınıf devralınamaz. |
Şunlara uygulanır
Ayrıca bkz.
- DataObject
- DataFormats
- IDataObject
- Windows Forms'da Ek Güvenlik Konuları