728x90
반응형
키와 이벤트
- 키보드 동작 : 눌림과 놓임
- 키 구분 : 문자키(A~Z, a~z, 0~9, Space bar, + 등), 기능키(F1~F12, Ctrl...등)
키 이벤트
- 키 관련 메세지 : WM-CHAR.WM_KEYDOWN, WM_KEYUP
- 키 관련 이벤트 : KeyDown, KeyUp, KeyPress
- 키 눌림 이벤트 : KeyDown
- 문자키 눌림 이벤트(대소문자 구분) : KeyPress
- 메시지박스 활용 : 각종 값 또는 이벤트를 확인하기 위해 사용, MessageBox.Show("문자열");
- 키 눌림과 문자키 입력 확인 : 1. KeyDown+MessageBox(키눌림), 2. KeyPress+MessageBox(문자키 눌림)
KeyDown 이벤트 처리
- KeyDown 이벤트
1. 키 눌림을 위한 이벤트
2. Keys 열거형으로 키 구분
- Keys 열거형
1. MSDN 검색
2. 문자키는 모두 대문자(Keys.A, Keys.B)
KeyEventArgs 속성
- Alt : bool 리턴, Alt키의 눌림 체크
- Control : bool 리턴, Control 키 눌림 체크
- Shift : bool 리턴, Shift 키 눌림 체크
- KeyCode : KeyDown 또는 KeyUp에 대한 Keys 열거값, Control, Alt, Shift 키 정보가 없음
- KeyData : 동시에 누른 키의 조합 ==> ' | ' 연산자로 조합, Keys 문자키 | Keys.Control | Keys.Shift | Keys.Alt
- Modifiers : 누른 Control, Alt, Shift 키 조합 ' | ' 연산자로 조합
키 구분
- KeyCode
1. 키보드 키에 대한 Keys 열거값
2. Keys.A, Keys.D0, Keys.F1 등
3. Alt, Control, Shift 정보가 없음
- KeyCode의 Alt, Control, Shift 보완
1. KeyEventArgs 속성 활용 e.Alt, e.Control, e.Shift
2. &&와 ||로 조합
- Modifiers
보조 플래그 Alt, Control. Shift 조합
- KeyCode 키와 Alt, Control, Shift 조합
1. e.Modifiers
2. 비트연산자 '|'로 키 조합 e.Modifiers ==(Keys.Shift |Keys.Control)
- KeyData
1. 키 값과 Alt, Control, Shift 정보 포함
2. 키 값과 보조플래그의 조합은 '|' 사용
예제
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == (Keys.A | Keys.Shift | Keys.Control))
MessageBox.Show("A + Shift + Control");
}
}
}
728x90
반응형
'C# > C#으로 살아남기_나우캠퍼스_이태성강사' 카테고리의 다른 글
[C# Winform 4강] 마우스 (0) | 2022.01.10 |
---|---|
[C# Winform 3강] 키보드(2) KeyPress (0) | 2022.01.10 |
[C# Winform 2강] 이벤트 핸들러 & 출력 (0) | 2022.01.04 |
[C# Winform 1강] 윈도우 프로그래밍 (0) | 2022.01.04 |
[C# 언어 13강] 인터페이스(interface) (0) | 2022.01.04 |