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
반응형

+ Recent posts