C# TextBox의 Multiline 옵션을 활용해서 여러 줄을 클립보드에 복사하고 붙여넣기 하는 방법


업무를 하다 보면 복사해서 붙여 넣는 작업을 정말 많이 하게 됩니다.

단순하게 한번 쭉 복사해서 붙여넣기를 하는 것이 아니라 여러가지 항목들을 조합해서 한번에 클립보드에 복사하고 이렇게 복사 된 것을 다른 곳에서 원하는 형식으로 붙여넣기 해서 사용하고 싶을 때가 있습니다.

화면 여기저기에 있는 내용을 따로 따로 복사해서 붙여넣기 하는 것이 아니라 한번에 Multiline으로 여러 줄로 복사해서 붙여넣기 하거나 지정된 구분자로 구분하여 한 줄에 복사하여 붙여넣는 등의 작업을 쉽게 할 수 있는 방법이 없을까 고민하게 됩니다.

이번 글에서는 C#에서 TaxtBox 컨트롤을 이용한 C# TextBox의 Multiline 옵션을 활용해서 여러 줄을 클립보드에 복사하고 붙여넣기 하는 방법에 대해 프로그램 예제 소스를 통해 알아보겠습니다.

C#에서 Multiline Clipboard Copy 방법

1. 복사할 내용을 임시로 받을 TextBox를 하나 만듭니다.

2. TextBox 속성에 Multiline 속성을 “True“로 지정해서 여러 줄이 입력될 수 있도록 합니다.

   그리고 Visible 속성은 “False“로 지정해서 화면에 보이지 않게 합니다. 클립보드 복사용으로만 사용되는 TextBox 컨트롤입니다.

C# TextBox의 Multiline 옵션을 활용해서 여러 줄을 클립보드에 복사하고 붙여넣기 하는 방법 1

3. “클립보드 복사” 버튼 클릭에 대한 처리를 아래와 같이 작성합니다.

private void btnClipboardCopy_Click(object sender, EventArgs e)
{
 
    var ClipboardCopyLines = new List<string>();
 
    ClipboardCopyLines.Add(string.Format(“{0}: {1}”, label1.Text, textBox1.Text));
    ClipboardCopyLines.Add(string.Format(“{0}: {1}”, label2.Text, textBox2.Text));
    ClipboardCopyLines.Add(string.Format(“{0}: {1}”, label3.Text, textBox3.Text));
    ClipboardCopyLines.Add(“”);
 
    textClipboard.Lines = ClipboardCopyLines.ToArray();
 
    textClipboard.SelectAll();
    textClipboard.Copy();
    textClipboard.DeselectAll();
 
}
 
  • 소스 설명 : Label의 텍스트와 TextBox의 텍스트를 합쳐서 한줄씩 List를 추가하고, 이렇게 추가된 리스트를 임의로 만든 TextBox에 넣고 이 TextBox를 Copy()를 이용하여 클립보드에 복사해주는 로직입니다.

4. 프로그램을 실행했을 때의 화면입니다. 클립보드 복사 버튼을 클릭합니다.

C# TextBox의 Multiline 옵션을 활용해서 여러 줄을 클립보드에 복사하고 붙여넣기 하는 방법 2

5. 이제 원하는 곳에서 붙여 넣기 하면 됩니다. 아래 예제 화면은 메모장을 띄워 붙여넣기(Ctrl+V)를 한 결과입니다. 아래 화면에 보이는 것처럼 3줄이 붙여 넣기 되었습니다.
– 붙여넣기(Ctrl+V)를 하게 되면 언제든지 윈도우 클립보드에 있는 내용이 커서가 있는 위치에 붙여 넣기 됩니다.

C# TextBox의 Multiline 옵션을 활용해서 여러 줄을 클립보드에 복사하고 붙여넣기 하는 방법 3


▶ 여러가지로 응용하여 구분자 넣어 복사를 한다든지, 필요한 항목만 선택해서 한번에 복사를 한다든지 다양하게 활용할 수 있습니다.

예) textClipboard.Text = string.format(“{0};{1};{2}”, textBox3.Text, textBox1.Text, textBox2.Text);
    textClipboard.Copy();

  => 붙여넣기 결과 : 안녕하세요. 반갑습니다.;느티나무 지식창고;https://gseek.pe.kr





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기