[C#기초] 9. 키보드, 마우스
INDEX
키보드
키 구분
- 문자키 : A ~ Z, a ~ z, 0 ~ 9, Space bar, +등
- 기능키 : F1 ~ F12, Ctrl, Shift, Alt, Insert 등
####
키 이벤트
-
키 관련 메시지
-
WM-CHAR
,WM_KEWDOWN
,WM_KEYUP
-
키 관련 이벤트
-
KeyDown
,KeyUp
, KeyPress`
-
키 눌림 이벤트
-
KeyDown
-
문자키 눌림 이벤트 (대소문자 구분)
-
KeyPress
-
키 이벤트 활용
-
-
메시지 박스 활용
-
MessageBox.Show("문자열");
-
키 눌림과 문자키 입력 확인
-
KeyDown + MessageBox( 키 눌림)
KeyPress + MessageBox( 문자키 눌림)
-
Key Down & Press 예제 코드
private void Form1_KeyDown(object sender, KeyEventArgs e) { MessageBox.Show("KeyDown " + e.KeyCode.ToString()); } private void Form1_KeyPress(object sender, KeyPressEventArgs e) { MessageBox.Show("KeyPress "+e.KeyChar.ToString()); }
KeyDown이벤트 처리
KeyDown 이벤트 처리
-
KeyDown 이벤트
-
- 키 눌림을 위한 이벤트
- Keys 열거형으로 키 구분
-
Keys 열거형
-
- MSDN 검색
- 문자키는 모두 대문자
KeyEventArtgs 속성
속성 설명 Alt bool 리턴, Alt키의 눌림 체크 Control bool 리턴, Control 키의 눌림 체크 Shift bool 리턴, Shift키의 눌림 체크 KeyCode KeyDown또는 KeyUp에 대한 Keys 열거값. Control, alt, Shift 키 정보가 없음 KeyData 동시에 누른 키의 조합 = => ‘|’ 연산자로 조합
Keys문자키 | Keys.Control | Keys.Shift | Keys.AltModifiers 누른 Control, Alt, Shift 키 조합
’|’연산자로 조합
간단한 코드 예제
private void Form1_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.A && e.Shift && e.Control) { MessageBox.Show("KeyCode + Shift + Control"); } if(e.KeyCode == Keys.A && e.Modifiers == (Keys.Shift | Keys.Alt)) { MessageBox.Show("A + Shift + Alt"); } if(e.Modifiers == (Keys.Shift | Keys.Control)) { MessageBox.Show("Modifiers + Shift + control"); } if(e.KeyData == (Keys.A | Keys.Shift | Keys.Control)) { MessageBox.Show("A + Shift + Control"); } }
마우스
컨트롤 마우스 이벤트
-
컨트롤 안에서 발생하는 이벤트 처리는 다음과 같다
폼 위에서의 마우스 이벤트
-
폼 위에서 벌어지는 이벤트 처리
Click
: 마우스 클릭MouseClick
: 컨트롤 위에서 마우스 클릭Click()
->MouseClick()
마우스 좌표
MouseMove
이벤트MouseEventArgs.X
,MouseEventArgs.Y
이벤트 발생 순서
-
마우스 클릭
MouseDown -> Click -> MouseClick -> MouseUp
-
마우스 더블클릭
MouseDown -> Click -> MouseClick -> MouseUp -> MouseDown -> DoubleClick -> MouseDoubleClick -> MouseUp
MouserEventArgs
속성
-
Button
-
- 누른 마우스 버튼의 값을 가져온다
MouseButton
열거형 :Left
,Middle
,None
,Right
-
X
,Y
-
- 마우스의 x, y좌표
-
Location
-
- 마우스의 위치
-
Delta
-
- 마우스의 휠의 회전수