Aracılığıyla paylaş


Clipboard.SetDataObject Yöntem

Tanım

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 textBox2görüntülenir. Bu kod , , button2``textBox1ve öğ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, , textBox1ve 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 textBox2yapış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.

retryTimes, sıfırdan küçüktür.

-veya- retryDelay, sıfırdan küçüktür.

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.

Ayrıca bkz.

Şunlara uygulanır