Clipboard.SetDataObject 메서드

정의

클립보드를 지우고 데이터를 추가합니다.

오버로드

Name Description
SetDataObject(Object)

클립보드를 지우고 해당 클립보드에 존재하지 않는 데이터를 배치합니다.

SetDataObject(Object, Boolean)

클립보드를 지웁니다. 그런 다음, 클립보드에 데이터를 배치하고 애플리케이션이 종료된 후에도 데이터를 유지할지 여부를 지정합니다.

SetDataObject(Object, Boolean, Int32, Int32)

클립보드를 지웁니다. 그런 다음, 애플리케이션이 종료된 후 필요에 따라 클립보드에 데이터를 남겨 두고, 시도 사이에 지정된 횟수와 지정된 지연 시간을 사용하여 클립보드에 데이터를 배치하려고 시도합니다.

SetDataObject(Object)

Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs

클립보드를 지우고 해당 클립보드에 존재하지 않는 데이터를 배치합니다.

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)

매개 변수

data
Object

클립보드에 배치할 데이터입니다.

예외

데이터를 클립보드에 배치할 수 없습니다. 이는 일반적으로 클립보드가 다른 프로세스에서 사용되는 경우에 발생합니다.

현재 스레드가 STA(단일 스레드 아파트) 모드가 아닙니다. STAThreadAttribute 애플리케이션의 Main 메서드에 추가합니다.

data 은 .입니다 null.

예제

다음 코드 예제에서는 존재하지 않는 텍스트 데이터를 시스템 클립보드에 배치하는 데 사용합니다 SetDataObject . 메서드에서 button1_Click 선택한 텍스트가 클립보드에서 textBox1 복사되어 붙여넣습니다. 메서드에서 button2_Click 정보는 클립보드에서 검색되고 에 표시됩니다 textBox2. 이 코드는 button1, 및 button2textBox1textBox2 폼을 만들고 배치했다고 가정합니다.

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

설명

애플리케이션이 종료되면 시스템 클립보드에서 데이터가 삭제됩니다.

이 메서드는 100밀리초 간격으로 데이터를 10번 설정하려고 시도하고 모든 시도가 실패하면 throw합니다 ExternalException .

메모

개체를 클립보드에 배치할 수 있도록 직렬화가 가능해야 합니다. 직렬화할 수 없는 개체를 이 메서드에 전달하면 예외를 throw하지 않고 실패합니다. serialization에 대한 자세한 내용은 참조 System.Runtime.Serialization 하세요.

Clipboard 클래스는 STA(단일 스레드 아파트) 모드로 설정된 스레드에서만 사용될 수 있습니다. 이 클래스를 사용하려면 Main 메서드가 STAThreadAttribute 특성으로 표시되었는지 확인하세요.

추가 정보

적용 대상

SetDataObject(Object, Boolean)

Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs

클립보드를 지웁니다. 그런 다음, 클립보드에 데이터를 배치하고 애플리케이션이 종료된 후에도 데이터를 유지할지 여부를 지정합니다.

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)

매개 변수

data
Object

클립보드에 배치할 데이터입니다.

copy
Boolean

true이 애플리케이션이 종료된 후 데이터를 클립보드에 유지하려면 이고, 그렇지 않으면 . false

예외

데이터를 클립보드에 배치할 수 없습니다. 이는 일반적으로 클립보드가 다른 프로세스에서 사용되는 경우에 발생합니다.

현재 스레드가 STA(단일 스레드 아파트) 모드가 아닙니다. STAThreadAttribute 애플리케이션의 Main 메서드에 추가합니다.

data 은 .입니다 null.

예제

다음 메서드는 애플리케이션에서 실행됩니다. 선택한 텍스트 데이터의 영구 복사본을 시스템 클립보드의 텍스트 상자에 배치합니다. 이 코드는 폼 button1textBox1textBox2만들고 배치했다고 가정합니다.

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

다른 애플리케이션에서 다음 메서드는 시스템 클립보드에서 텍스트를 검색하고 텍스트를 붙여넣 textBox2습니다. 이 코드는 폼을 button2textBox2 만들고 배치했다고 가정합니다.

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

설명

매개 변수인 copyfalse경우 애플리케이션이 종료되면 시스템 클립보드에서 데이터가 삭제됩니다.

이 메서드는 100밀리초 간격으로 데이터를 10번 설정하려고 시도하고 모든 시도가 실패하면 throw합니다 ExternalException .

메모

개체를 클립보드에 배치할 수 있도록 직렬화가 가능해야 합니다. 직렬화할 수 없는 개체를 이 메서드에 전달하면 예외를 throw하지 않고 실패합니다. serialization에 대한 자세한 내용은 참조 System.Runtime.Serialization 하세요.

Clipboard 클래스는 STA(단일 스레드 아파트) 모드로 설정된 스레드에서만 사용될 수 있습니다. 이 클래스를 사용하려면 Main 메서드가 STAThreadAttribute 특성으로 표시되었는지 확인하세요.

추가 정보

적용 대상

SetDataObject(Object, Boolean, Int32, Int32)

Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs
Source:
Clipboard.cs

클립보드를 지웁니다. 그런 다음, 애플리케이션이 종료된 후 필요에 따라 클립보드에 데이터를 남겨 두고, 시도 사이에 지정된 횟수와 지정된 지연 시간을 사용하여 클립보드에 데이터를 배치하려고 시도합니다.

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)

매개 변수

data
Object

클립보드에 배치할 데이터입니다.

copy
Boolean

true이 애플리케이션이 종료된 후 데이터를 클립보드에 유지하려면 이고, 그렇지 않으면 . false

retryTimes
Int32

클립보드에 데이터를 배치하려고 시도하는 횟수입니다.

retryDelay
Int32

시도 간에 일시 중지할 시간(밀리초)입니다.

예외

현재 스레드가 STA(단일 스레드 아파트) 모드가 아닙니다. STAThreadAttribute 애플리케이션의 Main 메서드에 추가합니다.

datanull입니다.

retryTimes가 0보다 작습니다.

-또는-

retryDelay가 0보다 작습니다.

데이터를 클립보드에 배치할 수 없습니다. 이는 일반적으로 클립보드가 다른 프로세스에서 사용되는 경우에 발생합니다.

설명

클립보드가 다른 스레드 또는 애플리케이션으로 사용 중이면 클립보드에 데이터를 추가하지 못할 수 있습니다. 이 메서드는 클립보드 사용량이 많은 환경에서 이 문제를 해결하는 데 유용합니다.

매개 변수인 copyfalse경우 애플리케이션이 종료되면 시스템 클립보드에서 데이터가 삭제됩니다.

메모

개체를 클립보드에 배치할 수 있도록 직렬화가 가능해야 합니다. 직렬화할 수 없는 개체를 이 메서드에 전달하면 예외를 throw하지 않고 실패합니다. serialization에 대한 자세한 내용은 참조 System.Runtime.Serialization 하세요.

Clipboard 클래스는 STA(단일 스레드 아파트) 모드로 설정된 스레드에서만 사용될 수 있습니다. 이 클래스를 사용하려면 Main 메서드가 STAThreadAttribute 특성으로 표시되었는지 확인하세요.

추가 정보

적용 대상