Clipboard.SetDataObject Yöntem
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.
Pano'ya veri ekler ve panoyu temizler.
Aşırı Yüklemeler
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. |
SetDataObject(Object)
Panoyu temizler ve sonra bu panoya kalıcı olmayan veriler yerleştirir.
public:
static void SetDataObject(System::Object ^ data);
public static void SetDataObject (object data);
static member SetDataObject : obj -> unit
Public Shared Sub SetDataObject (data As Object)
Parametreler
- data
- Object
Pano'ya yerleştirecek veriler.
Özel durumlar
Veriler Pano'ya yerleştirilemedi. Bu durum genellikle Pano başka bir işlem tarafından kullanıldığında oluşur.
Geçerli iş parçacığı tek iş parçacıklı daire (STA) modunda değil. öğesini STAThreadAttribute uygulamanızın yöntemine Main
ekleyin.
değerinin data
değeridir null
.
Örnekler
Aşağıdaki kod örneği, sistem Panosu'na kalıcı olmayan metin verileri yerleştirmek için kullanır SetDataObject . yönteminde button1_Click
, seçilen metin öğesinden textBox1
kopyalanır ve Pano'ya yapıştırılır. yönteminde button2_Click
bilgiler Pano'dan alınır ve içinde textBox2
görüntülenir. Bu kod , , button2``textBox1
ve öğesinin oluşturulduğunu ve textBox2
bir forma yerleştirildiğini varsayarbutton1
.
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
Uygulamadan çıkıldığında veriler sistem Panosu'ndan silinir.
Bu yöntem, verileri 100 milisaniyelik aralıklarla on kez ayarlamayı dener ve tüm girişimler başarısız olursa bir ExternalException oluşturur.
Not
Bir nesnenin Pano'ya konulabilmesi için seri hale getirilebilir olması gerekir. Bu yönteme seri hale getirilemez bir nesne geçirirseniz, özel durum oluşturmadan başarısız olur. Serileştirme hakkında daha fazla bilgi için bkz System.Runtime.Serialization .
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.
Ayrıca bkz.
Şunlara uygulanır
SetDataObject(Object, Boolean)
Pano'dan temizlenip üzerine veri yerleştirir ve verilerin uygulamadan çıktıktan sonra kalıp kalmayacağını belirtir.
public:
static void SetDataObject(System::Object ^ data, bool copy);
public static void SetDataObject (object data, bool copy);
static member SetDataObject : obj * bool -> unit
Public Shared Sub SetDataObject (data As Object, copy As Boolean)
Parametreler
- data
- Object
Pano'ya yerleştirecek veriler.
- copy
- Boolean
true
Bu uygulamadan çıkıldıktan sonra verilerin Pano'da kalmasını istiyorsanız; aksi takdirde , false
.
Özel durumlar
Veriler Pano'ya yerleştirilemedi. Bu durum genellikle Pano başka bir işlem tarafından kullanıldığında oluşur.
Geçerli iş parçacığı tek iş parçacıklı daire (STA) modunda değil. öğesini STAThreadAttribute uygulamanızın yöntemine Main
ekleyin.
değerinin data
değeridir null
.
Örnekler
Aşağıdaki yöntem bir uygulamada çalıştırılır. Seçili metin verilerinin kalıcı bir kopyasını sistem Panosu'ndaki metin kutusuna yerleştirir. Bu kod, , textBox1
ve değerlerinin oluşturulduğunu ve textBox2
bir forma yerleştirildiğini varsayarbutton1
.
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, true );
}
else
{
textBox2->Text = "No text selected in textBox1";
}
}
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, true);
else
textBox2.Text = "No text selected in textBox1";
}
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, True)
Else
textBox2.Text = "No text selected in textBox1"
End If
End Sub
Farklı bir uygulamada, aşağıdaki yöntem sistem Panosu'ndan metni alır ve içine textBox2
yapıştırır. Bu kod, oluşturulduğunu ve textBox2
bir forma yerleştirildiğini varsayarbutton2
.
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 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 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
copy
parametresi isefalse
, uygulamadan çıkıldığında veriler sistem Panosu'ndan silinir.
Bu yöntem, verileri 100 milisaniyelik aralıklarla on kez ayarlamayı dener ve tüm girişimler başarısız olursa bir ExternalException oluşturur.
Not
Bir nesnenin Pano'ya konulabilmesi için seri hale getirilebilir olması gerekir. Bu yönteme seri hale getirilemez bir nesne geçirirseniz, özel durum oluşturmadan başarısız olur. Serileştirme hakkında daha fazla bilgi için bkz System.Runtime.Serialization .
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.
Ayrıca bkz.
Şunlara uygulanır
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.
public:
static void SetDataObject(System::Object ^ data, bool copy, int retryTimes, int retryDelay);
public static void SetDataObject (object data, bool copy, int retryTimes, int retryDelay);
static member SetDataObject : obj * bool * int * int -> unit
Public Shared Sub SetDataObject (data As Object, copy As Boolean, retryTimes As Integer, retryDelay As Integer)
Parametreler
- data
- Object
Pano'ya yerleştirecek veriler.
- copy
- Boolean
true
Bu uygulamadan çıkıldıktan sonra verilerin Pano'da kalmasını istiyorsanız; aksi takdirde , false
.
- retryTimes
- Int32
Verileri Pano'ya yerleştirmeyi deneme sayısı.
- retryDelay
- Int32
Denemeler arasında duraklatmak için milisaniye sayısı.
Özel durumlar
Geçerli iş parçacığı tek iş parçacıklı daire (STA) modunda değil. öğesini STAThreadAttribute uygulamanızın yöntemine Main
ekleyin.
data
, null
değeridir.
Veriler Pano'ya yerleştirilemedi. Bu durum genellikle Pano başka bir işlem tarafından kullanıldığında oluşur.
Açıklamalar
Pano başka bir iş parçacığı veya uygulamayla meşgulse Pano'ya veri ekleme işlemi zaman zaman başarısız olabilir. Bu yöntem, yoğun Pano kullanımı olan ortamlarda bu sorunu geçici olarak çözmek için yararlıdır.
copy
parametresi isefalse
, uygulamadan çıkıldığında veriler sistem Panosu'ndan silinir.
Not
Bir nesnenin Pano'ya konulabilmesi için seri hale getirilebilir olması gerekir. Bu yönteme seri hale getirilemez bir nesne geçirirseniz, özel durum oluşturmadan başarısız olur. Serileştirme hakkında daha fazla bilgi için bkz System.Runtime.Serialization .
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.