728x90
반응형
이벤트
- 개념
delegate(외부에서) → event(객체의 메서드 안에서)
- 윈도우 메세지에 따라 호출되는 이벤트는 결정 → 자동생성 & 호출
WM_PAINT
→ event PaintEventHandler Paint
→ this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint)
이벤트 핸들러 생성하기
- 속성창의 이벤트 아이콘
- 자동생성코드에서 이벤트 핸들러는 속성창에서 삭제 → 내가 작성한 코드는 따로 삭제
- 자동생성코드 → Tool에서 수정/삭제
- 내가 작성한 코드 → 내가 직접
이벤트 핸들러 매개변수
- 윈도우 이벤트 핸들러는 모두 같은 형식
- private void Form1_Paint(object sender, PaintEventArgs e)
Sender
이벤트를 호출하는 객체 참조
object는 최상위 클래스 → boxing → unboxing
e
이벤트에 관련된 정보를 제공하는 클래스
System.Object
System.EventArgs
화면 출력 객체 가져오기
- 화면 출력 과정
WM_PAINT → Paint event
→ paint event handler
→ 이벤트 처리 메서드
- Graphics
1. 출력 객체
2. e.Graphiics를 통해 get public Graphics Graphics { get; }
텍스트 출력
- Graphics.DrawString() 오버로드된 함수 → 단일 함수명 + 다양한 매개변수
- DrawString() 기본 DrawString(string s, Font font, Brush brush, float x, float y)
- font : Control.Font 속성 설정
- brush : Brushes.Black
텍스트 출력
- Graphics에서 제공
선 : DrawLine()
원형 : DrawEllipse()
사각형 : DrawRectangle()
- Pen
선 그리기 객체
System.Object
System.Drawing.Pens
public sealed class Pens
public static Pen Black { get; }
728x90
반응형
'C# > C#으로 살아남기_나우캠퍼스_이태성강사' 카테고리의 다른 글
[C# Winform 3강] 키보드(2) KeyPress (0) | 2022.01.10 |
---|---|
[C# Winform 3강] 키보드(1) 키와 이벤트, KeyDown (0) | 2022.01.10 |
[C# Winform 1강] 윈도우 프로그래밍 (0) | 2022.01.04 |
[C# 언어 13강] 인터페이스(interface) (0) | 2022.01.04 |
[C# 언어 12강] 추상클래스 (0) | 2022.01.03 |