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ştirmeye ve sistem Panosundan veri almaya yönelik 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 üzerine yerleştirmek ve sistem Panosu'ndan almak için yöntemleri kullanır Clipboard . Bu kod , , button2
textBox1
ve öğesinin oluşturulduğunu ve textBox2
forma yerleştirildiğini varsayarbutton1
.
yöntemi, button1_Click
seçili metni metin kutusundan alıp sistem Panosu'na yerleştirmeyi çağırır SetDataObject .
button2_Click
yöntemi, sistem Panosu'ndan veri almak için öğesini çağırırGetDataObject. Kod, döndürülen verileri ayıklamak için ve DataFormats kullanır IDataObject ve içindeki textBox2
verileri 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 koymak için çağrısı SetDataObject . Verilerin kalıcı bir kopyasını Pano'ya yerleştirmek için parametresini copy
olarak true
ayarlayın.
Not
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 verileri Pano'ya 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ı DataFormats tarafından IDataObject belirtilen yöntemleri kullanın. Aldığınız verilerin biçimini bilmiyorsanız, verilerin depolandığı tüm biçimlerin IDataObject listesini almak için arabiriminin yöntemini çağırınGetFormats. Ardından arabiriminin GetData yöntemini çağırın IDataObject ve uygulamanızın kullanabileceği bir biçim belirtin.
.NET Framework 2.0'da Clipboard sınıfı, 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çimdeki verileri eklemek için, var olan verileri değiştirerek, gibi SetTextuygun Set
Format 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 Contains
Format yöntemini (örneğin ContainsText) çağırın ve ardından Panoda veri varsa verileri almak için uygun Get
Format yöntemini (örneğin GetText) çağırın. Bu işlemlerde biçimi belirtmek için bunun yerine ve GetData yöntemlerini çağırınContainsData.
Not
Tüm Windows tabanlı 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 özel 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 dizisi MemoryStream olarak ekleyin ve yöntemine SetData geçirinMemoryStream.
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 yönteminizin Main
özniteliğiyle işaretlendiğinden STAThreadAttribute emin olun.
Pano ile meta dosyası biçimi kullanılırken dikkat edilmesi gereken özel noktalar olabilir. Sınıfın geçerli uygulamasındaki DataObject 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
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 veya bu biçime dönüştürülebilecek veriler olup olmadığını gösterir. |
ContainsImage() |
Pano'da Bitmap biçiminde veya bu biçime dönüştürülebilecek veriler olup olmadığını 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) |
Pano'dan belirtilen biçimde veri alır. |
GetDataObject() |
Şu anda sistem Panosu'nda bulunan verileri alır. |
GetFileDropList() |
Pano'dan dosya adları koleksiyonunu alır. |
GetImage() |
Pano'dan bir resim 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ürür ve biçimine dönüştürdükten Streamsonra bir dizi WaveAudio eklerByte. |
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. |
SetDataObject(Object) |
Panoyu temizler ve sonra bu panoya kalıcı olmayan veriler yerleştirir. |
SetDataObject(Object, Boolean) |
Pano'dan temizlenip üzerine veri yerleştirir ve verilerin uygulamadan çıktıktan sonra kalıp kalmayacağını belirtir. |
SetDataObject(Object, Boolean, Int32, Int32) |
Pano'nun işaretini kaldırır ve ardından verileri belirtilen sayıda ve denemeler arasında belirtilen gecikmeyle yerleştirmeye çalışır ve isteğe bağlı olarak uygulama çıktıktan sonra verileri Pano'da bırakır. |
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) |
panoyu temizler ve işletim sistemine bağlı olarak veya UnicodeText biçiminde metin verileri Text ekler. |
SetText(String, TextDataFormat) |
Pano'nu temizler ve ardından metin verilerini belirtilen TextDataFormat değerle belirtilen biçimde ekler. |