C#

28.C#_WinForm - 키 다운 이벤트 ( KeyDown Event)

Godffs 2009. 9. 2. 13:34
반응형

키보드에서 입력 방향으로 원 그림이 움직이는 간단한 예제입니다.


        메뉴추가 :
                FrmMain - 샘플 - 키 다운 이벤트

FrmKeyDown 이벤트 속성
FrmKeyDown폼에 대해서 이벤트 속성탭에서 이벤트를 추가합니다.
모양 - Paint 이벤트 : 컨트롤을 다시 그려야 할 때 발생하는 이벤트
키 - KeyDown 이벤트 : 키를 처음 누를때 발생하는 이벤트

FrmKeyDown.cs
public partial class FrmKeyDown : Form
{
        private Point p; //포인트 선언
        public FrmKeyDown()
        {
            InitializeComponent();
            p.X = 10; p.Y = 10;
        }

        //폼에서 키보드가 입력 될 때
        private void FrmKeyDown_KeyDown(object sender, KeyEventArgs e)
        {
                switch (e.KeyCode)
                {
                case Keys.Left: p.X -= 10;   //Invalidate(); = 다시 그리려주기
                        Invalidate(); break;
                case Keys.Right: p.X += 10;
                        Invalidate(); break;
                case Keys.Up: p.Y -= 10;
                        Invalidate(); break;
                case Keys.Down: p.Y += 10;
                        Invalidate(); break;
                default :
                        break;
                }
        }

        private void FrmKeyDown_Paint(object sender, PaintEventArgs e)
        {
                //검은색 원 그림
                e.Graphics.FillEllipse(Brushes.Black, p.X - 8, p.Y - 8, 16, 16);
        }
}

결과확인

[그림28-1]

28WinFrmMain.zip
다운로드

 

 

반응형