Clipboard.SetDataObject 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
클립보드를 지우고 데이터를 추가합니다.
오버로드
| 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.
예제
다음 메서드는 애플리케이션에서 실행됩니다. 선택한 텍스트 데이터의 영구 복사본을 시스템 클립보드의 텍스트 상자에 배치합니다. 이 코드는 폼 button1textBox1 을 textBox2만들고 배치했다고 가정합니다.
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 메서드에 추가합니다.
data은 null입니다.
데이터를 클립보드에 배치할 수 없습니다. 이는 일반적으로 클립보드가 다른 프로세스에서 사용되는 경우에 발생합니다.
설명
클립보드가 다른 스레드 또는 애플리케이션으로 사용 중이면 클립보드에 데이터를 추가하지 못할 수 있습니다. 이 메서드는 클립보드 사용량이 많은 환경에서 이 문제를 해결하는 데 유용합니다.
매개 변수인 copyfalse경우 애플리케이션이 종료되면 시스템 클립보드에서 데이터가 삭제됩니다.
메모
개체를 클립보드에 배치할 수 있도록 직렬화가 가능해야 합니다. 직렬화할 수 없는 개체를 이 메서드에 전달하면 예외를 throw하지 않고 실패합니다. serialization에 대한 자세한 내용은 참조 System.Runtime.Serialization 하세요.
Clipboard 클래스는 STA(단일 스레드 아파트) 모드로 설정된 스레드에서만 사용될 수 있습니다. 이 클래스를 사용하려면 Main 메서드가 STAThreadAttribute 특성으로 표시되었는지 확인하세요.