업무를 하다 보면 복사해서 붙여 넣는 작업을 정말 많이 하게 됩니다.
단순하게 한번 쭉 복사해서 붙여넣기를 하는 것이 아니라 여러가지 항목들을 조합해서 한번에 클립보드에 복사하고 이렇게 복사 된 것을 다른 곳에서 원하는 형식으로 붙여넣기 해서 사용하고 싶을 때가 있습니다.
화면 여기저기에 있는 내용을 따로 따로 복사해서 붙여넣기 하는 것이 아니라 한번에 Multiline으로 여러 줄로 복사해서 붙여넣기 하거나 지정된 구분자로 구분하여 한 줄에 복사하여 붙여넣는 등의 작업을 쉽게 할 수 있는 방법이 없을까 고민하게 됩니다.
이번 글에서는 C#에서 TaxtBox 컨트롤을 이용한 C# TextBox의 Multiline 옵션을 활용해서 여러 줄을 클립보드에 복사하고 붙여넣기 하는 방법에 대해 프로그램 예제 소스를 통해 알아보겠습니다.
C#에서 Multiline Clipboard Copy 방법
1. 복사할 내용을 임시로 받을 TextBox를 하나 만듭니다.
2. TextBox 속성에 Multiline 속성을 “True“로 지정해서 여러 줄이 입력될 수 있도록 합니다.
그리고 Visible 속성은 “False“로 지정해서 화면에 보이지 않게 합니다. 클립보드 복사용으로만 사용되는 TextBox 컨트롤입니다.
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. 프로그램을 실행했을 때의 화면입니다. 클립보드 복사 버튼을 클릭합니다.
5. 이제 원하는 곳에서 붙여 넣기 하면 됩니다. 아래 예제 화면은 메모장을 띄워 붙여넣기(Ctrl+V)를 한 결과입니다. 아래 화면에 보이는 것처럼 3줄이 붙여 넣기 되었습니다.
– 붙여넣기(Ctrl+V)를 하게 되면 언제든지 윈도우 클립보드에 있는 내용이 커서가 있는 위치에 붙여 넣기 됩니다.
▶ 여러가지로 응용하여 구분자 넣어 복사를 한다든지, 필요한 항목만 선택해서 한번에 복사를 한다든지 다양하게 활용할 수 있습니다.
예) textClipboard.Text = string.format(“{0};{1};{2}”, textBox3.Text, textBox1.Text, textBox2.Text);
textClipboard.Copy();
=> 붙여넣기 결과 : 안녕하세요. 반갑습니다.;느티나무 지식창고;https://gseek.pe.kr
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^