C#에서 클립보드에 텍스트 복사

Saad Aslam 2023년10월12일
  1. C#의 클립보드에 대해 알아야 할 모든 것
  2. C#에서 클립보드에 텍스트 복사 구현
C#에서 클립보드에 텍스트 복사

이 게시물에서는 C# 프로그래밍 언어를 사용하여 문자열의 내용을 클립보드에 복사하는 방법을 배웁니다.

C#의 클립보드에 대해 알아야 할 모든 것

사용자는 데이터의 임시 저장 공간인 클립보드를 사용하여 한 영역에서 다른 영역으로 데이터를 전송할 수 있습니다. 예를 들어, 워드 프로세싱 도구 사용자는 문서의 한 부분에서 자료를 복사하여 문서의 다른 섹션이나 다른 위치에 붙여넣기를 원할 수 있습니다.

Clipboard 클래스에서 사용할 수 있는 메서드를 사용하여 Windows 운영 체제에 내장된 Clipboard 기능과 상호 작용할 수 있습니다. 프로그래머와 기타 사용자는 일상적으로 애플리케이션의 “클립보드"에 임시 데이터를 저장합니다.

예를 들어 워드 프로세서는 잘라내기 및 붙여넣기와 관련된 작업을 실행할 때마다 클립보드를 사용합니다. 클립보드는 한 응용 프로그램에서 다른 응용 프로그램으로 정보를 전송할 수 있는 도구입니다.

형식을 식별하는 데 사용되는 문자열에 지정된 이름은 클립보드 형식입니다.

Ctrl+C를 누르면 일부 정보 또는 파일이 시스템의 클립보드 메모리에 복사됩니다. 여기에서 Ctrl+V를 눌러 클립보드에서 복사한 위치로 다시 붙여넣을 때까지 그대로 유지됩니다.

Clipboard 클래스를 사용하면 많은 기능 중 하나로 데이터를 복사하여 붙여넣고 클립보드에서 검색할 수 있습니다.

C#에서 클립보드에 텍스트 복사 구현

다음 데모에서는 Clipboard.GetDataObject() 명령을 사용하여 클립보드의 모든 데이터를 복사합니다. 클립보드에는 문자열이 아닌 그림 및 기타 유형의 콘텐츠가 포함될 수 있습니다.

따라서 if else 조건을 사용하여 문자열 형식인지 여부를 확인했습니다. 그렇지 않은 경우 오류 메시지 또는 사양에 필요한 기타 메시지를 삽입했습니다.

IDataObject text = Clipboard.GetDataObject();

if (text.GetDataPresent(DataFormats.Text))
  data.Text = (String)text.GetData(DataFormats.Text);
else
  data.Text = "Data not found.";

클립보드에서 데이터를 검색하는 데 사용할 수 있는 또 다른 옵션이 있습니다. 클립보드에서 사용할 수 있는 GetText 기능을 자유롭게 활용할 수 있습니다.

보다 철저하게 이해하는 데 도움이 되도록 여기에 예가 있습니다.

data = Clipboard.GetText(TextDataFormat.text);

이것은 클립보드에 저장된 정보를 검색하는 또 다른 방법입니다. 클립보드에서 사용할 수 있는 SetText 메서드를 사용하여 데이터를 클립보드에 쓸 수도 있습니다.

Clipboard.SetText(data, TextDataFormat.text);

data는 클립보드에 복사될 문자열이고 TextDataFormat.text는 제공되는 데이터의 형식입니다. 데이터가 HTML 형식인 경우 표현식의 두 번째 부분에 TextDataFormat.html을 입력해야 합니다.

이 기사에서는 C# 프로그래밍 언어를 사용하여 문자열의 내용을 클립보드에 복사하는 방법을 설명했습니다.

작가: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn