Clipboard 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
시스템 클립보드에서 데이터를 배치하고 검색하는 메서드를 제공합니다. 이 클래스는 상속될 수 없습니다.
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
- 상속
-
Clipboard
예제
다음 코드 예제에서는 메서드를 사용하여 Clipboard 데이터를 배치하고 시스템 클립보드에서 검색합니다. 이 코드에서는 button1
, , button2
및 textBox1
textBox2
가 생성되어 양식에 배치되었다고 가정합니다.
메서드는 button1_Click
를 호출 SetDataObject 하여 텍스트 상자에서 선택한 텍스트를 가져와서 시스템 클립보드에 배치합니다.
메서드는 button2_Click
를 호출 GetDataObject 하여 시스템 클립보드에서 데이터를 검색합니다. 코드는 및 DataFormats 를 사용하여 IDataObject 반환된 데이터를 추출하고 에 데이터를 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 );
}
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
설명
클래스와 함께 Clipboard 사용할 미리 정의된 형식 목록은 클래스를 참조하세요 DataFormats .
를 호출 SetDataObject 하여 클립보드에 데이터를 배치하고 현재 내용을 바꿉니다. 데이터의 영구 복사본을 클립보드에 배치하려면 매개 변수를 copy
로 true
설정합니다.
참고
여러 형식으로 클립보드에 데이터를 배치하려면 클래스 또는 구현을 IDataObject 사용합니다DataObject. 대상 애플리케이션을 모를 수 있는 형식 요구 사항에서 데이터를 검색할 수는 가능성을 최대화 하기 위해 여러 형식으로 클립보드에 데이터를 배치 합니다.
를 호출 GetDataObject 하여 클립보드에서 데이터를 검색합니다. 데이터는 인터페이스를 구현하는 개체로 반환됩니다 IDataObject . 에 지정된 IDataObject 메서드 및 의 DataFormats 필드를 사용하여 개체에서 데이터를 추출합니다. 검색한 데이터의 형식을 모르는 경우 인터페이스의 IDataObject 메서드를 GetFormats 호출하여 데이터가 저장된 모든 형식의 목록을 가져옵니다. 호출을 GetData 메서드는 IDataObject 인터페이스 및 애플리케이션이 사용할 수 있는 형식을 지정 합니다.
.NET Framework 2.0에서 클래스는 Clipboard 시스템 클립보드를 더 쉽게 작업할 수 있는 추가 메서드를 제공합니다. 메서드를 Clear 호출하여 클립보드에서 모든 데이터를 제거합니다. 클립보드에 특정 형식의 데이터를 추가하려면 기존 데이터를 대체하거나 와 같은 SetText적절한 Set
Format 메서드를 호출하거나 메서드를 SetData 호출하여 형식을 지정합니다. 클립보드에서 특정 형식의 데이터를 검색하려면 먼저 적절한 Contains
Format 메서드(예: ContainsText) 메서드를 호출하여 클립보드에 해당 형식의 데이터가 포함되어 있는지 확인한 다음, 적절한 Get
Format 메서드(예: GetText)를 호출하여 클립보드에 데이터가 포함된 경우 데이터를 검색합니다. 이러한 작업에서 형식을 지정하려면 대신 및 GetData 메서드를 ContainsData 호출합니다.
참고
모든 Windows 기반 애플리케이션 다른 애플리케이션으로 전환 하는 경우 해당 내용이 변경 될 수 있으므로 시스템 클립보드를 공유 합니다.
개체를 클립보드에 배치할 수 있도록 직렬화가 가능해야 합니다. 직렬화할 수 없는 개체를 클립보드 메서드에 전달하면 예외를 throw하지 않고 메서드가 실패합니다. serialization에 대한 자세한 내용은 를 참조하세요 System.Runtime.Serialization . 대상 애플리케이션 특정 데이터 형식에 필요한 경우 데이터 serialization 프로세스에 추가 된 헤더에는 애플리케이션에서 데이터를 인식 하지 못할 수 있습니다. 데이터 형식을 유지하려면 데이터를 배열 MemoryStream 로 Byte 추가하고 메서드에 을 SetData 전달 MemoryStream 합니다.
Clipboard 클래스는 STA(단일 스레드 아파트) 모드로 설정된 스레드에서만 사용될 수 있습니다. 이 클래스를 사용하려면 Main
메서드가 STAThreadAttribute 특성으로 표시되었는지 확인하세요.
클립보드와 함께 메타파일 형식을 사용하는 경우 특별한 고려 사항이 필요할 수 있습니다. 현재 구현에서 제한으로 인해는 DataObject 이전 메타 파일 형식을 사용 하는 애플리케이션에서 클래스를 사용 하는.NET Framework 메타 파일 형식을 인식할 수 없습니다. 이 경우에 Win32 클립보드 Api (애플리케이션 프로그래밍 인터페이스)를 사용 하 여 상호 운용 해야 합니다.
메서드
Clear() |
클립보드에서 데이터를 모두 제거합니다. |
ContainsAudio() |
WaveAudio 형식의 데이터가 클립보드에 있는지 여부를 나타냅니다. |
ContainsData(String) |
지정된 형식으로 되어 있거나 해당 형식으로 변환될 수 있는 데이터가 클립보드에 있는지 여부를 나타냅니다. |
ContainsFileDropList() |
FileDrop 형식으로 되어 있거나 해당 형식으로 변환될 수 있는 데이터가 클립보드에 있는지 여부를 나타냅니다. |
ContainsImage() |
Bitmap 형식으로 되어 있거나 해당 형식으로 변환될 수 있는 데이터가 클립보드에 있는지 여부를 나타냅니다. |
ContainsText() |
운영 체제에 따라 Text 또는 UnicodeText 형식의 데이터가 클립보드에 있는지 여부를 나타냅니다. |
ContainsText(TextDataFormat) |
지정된 TextDataFormat 값이 나타내는 형식의 텍스트 데이터가 클립보드에 있는지 여부를 나타냅니다. |
GetAudioStream() |
클립보드에서 오디오 스트림을 검색합니다. |
GetData(String) |
클립보드에서 지정된 형식의 데이터를 검색합니다. |
GetDataObject() |
현재 시스템 클립보드에 있는 데이터를 검색합니다. |
GetFileDropList() |
클립보드에서 파일 이름의 컬렉션을 검색합니다. |
GetImage() |
클립보드에서 이미지를 검색합니다. |
GetText() |
운영 체제에 따라 Text 또는 UnicodeText 형식의 텍스트 데이터를 클립보드에서 검색합니다. |
GetText(TextDataFormat) |
지정된 TextDataFormat 값이 나타내는 형식의 텍스트 데이터를 클립보드에서 검색합니다. |
SetAudio(Byte[]) |
클립보드를 지운 다음 Byte 형식의 WaveAudio 배열을 Stream으로 변환한 다음 클립보드에 추가합니다. |
SetAudio(Stream) | |
SetData(String, Object) |
클립보드를 지운 다음 지정된 형식으로 데이터를 추가합니다. |
SetDataObject(Object) |
클립보드를 지운 다음 비영구 데이터를 넣습니다. |
SetDataObject(Object, Boolean) |
클립보드를 지운 다음 해당 클립보드에 데이터를 배치하고 해당 애플리케이션을 끝낼 때 데이터가 클립보드에 남아 있어야 하는지 여부를 지정합니다. |
SetDataObject(Object, Boolean, Int32, Int32) |
클립보드를 지운 다음 시도 횟수 사이의 간격을 지정하여 지정된 횟수만큼 시스템 클립보드에 데이터를 배치하려고 시도하고 애플리케이션을 끝낸 후 선택적으로 클립보드에 데이터를 그대로 둡니다. |
SetFileDropList(StringCollection) |
클립보드를 지운 다음 FileDrop 형식의 파일 이름 컬렉션을 추가합니다. |
SetImage(Image) | |
SetText(String) |
클립보드를 지운 다음 운영 체제에 따라 Text 또는 UnicodeText 형식의 텍스트 데이터를 클립보드에 추가합니다. |
SetText(String, TextDataFormat) |
클립보드를 지운 다음 지정된 TextDataFormat 값이 나타내는 형식의 텍스트 데이터를 클립보드에 추가합니다. |
적용 대상
추가 정보
.NET