Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- mysql
- VS Code
- JSON
- error
- Linux
- 채보
- YOLO
- C#
- Python
- C++
- OpenCV
- pytorch
- Numpy
- windows forms
- Visual Studio
- ubuntu
- C
- pandas
- LIST
- Selenium
- 핑거스타일
- 컨테이너
- 오류
- SSH
- 프로그래머스
- paramiko
- 기타 연주
- Docker
- pip
- label
Archives
- Today
- Total
기계는 거짓말하지 않는다
C# Windows Forms Clipboard 텍스트, 이미지 얻기 본문
클립보드에 있는 텍스트나 이미지를 가지고 오는 메서드는 기본 제공된다.
System.Windows.Forms.Clipboard 클래스를 이용하면 된다.
그 외 오디오 스트림, 데이터 등도 얻어올 수 있다.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.KeyDown += FormCtrlV_KeyDownEvent; // 폼 키 입력 이벤트
richTextBox1.KeyDown += PreventRichTextBoxImageCopy_KeyDownEvent; // richTextBox 이미지 복사 방지
}
private void FormCtrlV_KeyDownEvent(object sender, KeyEventArgs e)
{
if(e.Modifiers == Keys.Control && e.KeyCode == Keys.V)
{
if(Clipboard.ContainsText())
{
richTextBox1.AppendText(Clipboard.GetText()); // 텍스트 얻기
}
else if(Clipboard.ContainsImage())
{
pictureBox1.Image = Clipboard.GetImage(); // 이미지 얻기
}
}
}
private void PreventRichTextBoxImageCopy_KeyDownEvent(object sender, KeyEventArgs e)
{
if (e.Modifiers == Keys.Control && e.KeyCode == Keys.V)
{
if(Clipboard.ContainsImage())
{
e.Handled = true;
}
else if (Clipboard.ContainsText()) // 폼 키 입력 이벤트에 있으므로 막는다
{
e.Handled = true;
}
richTextBox1.SelectionStart = richTextBox1.Text.Length; // 스크롤 가장 아래로
richTextBox1.ScrollToCaret();
}
}
}
폼에 키 입력을 받기 위해서는 KeyPreview 속성을 True로 설정해야 한다.
'C#' 카테고리의 다른 글
C# 소수점 제한, 천 단위 콤마 출력 (0) | 2021.07.12 |
---|---|
C# Windows Forms MessageBox (0) | 2021.07.11 |
C# Windows Forms 키 입력 필터 (0) | 2021.07.10 |
C# Windows Forms 키 입력 활성화, 동시 키 입력 (0) | 2021.07.07 |
C# using문, Dispose (0) | 2021.06.15 |
Comments