마우스 이벤트는 속성창에
이벤트 영역에 있지 않다.
직접 손으로 타이핑 해서 구현해야한다고 한다.
일단 이벤트핸들러를 등록한다.
폼 클래스 내에 넣으면 된다.
전 Form1_Load 이벤트 안에 넣었습니다.
this.MouseWheel += new MouseEventHandler(BaseForm_MouseWheel);
그리고 중요한 휠 이벤트 내용
휠은 e.Delta 변수로
휠이 위로 올라갔는지 아래로 내려갔는지 알 수 있습니다.
e.Delta 가 양수면 아래로
음수면 위로 올라간것이며
얼마나 올라갔는지를 알려면
e.Delta값을 나눠서 사용하면 됩니다.
ex) e.Delta/120
private void BaseForm_MouseWheel(object sender, MouseEventArgs e) { bool IsReduce = true; // 휠을 아래로 내리면 // 축소(Reduce)가 아닌 확대(Expand) 이므로 false 대입 if (e.Delta < 0) { IsReduce = false; } /* 셀의 크기가 셀의 한계 범위 안에 든다면 * -> MinCellSize < 셀 사이즈 < MaxCellSize * ResizeCellSize함수는 셀의 크기를 1씩 증가 혹은 감소 하고 * true를 리턴한다. * 하지만, 셀 사이즈가 한계 크기와 같다면 * 셀 크기에는 변동이 없고 false를 리턴 * 리턴값이 true라면 화면을 다시 그린다. */ if (MainBoard.ResizeCellSize(IsReduce) == true) { // 가로, 세로 셀의 개수를 다시 계산 MainBoard.CalcCellNum(); // 메인보드 다시 그림 this.Invalidate(); } }
'C# > 윈도우 프로그래밍' 카테고리의 다른 글
[c#] 인터넷에 연결 되있는지 확인하기 (0) | 2012.05.09 |
---|---|
어플리케이션 레벨에서의 메세지 처리 (0) | 2012.04.06 |
전체화면 설정 (Full Screen) (0) | 2012.04.06 |