반도체, 임베디드 Study/C#

C# - WinForm 기본 화면 구성

잇(IT) 2024. 6. 10. 08:35
728x90

WinForm에서 Event가 발생하면 Event Handler를 통해 발생한 Event를 처리한다.

Program.cs : 윈도우 폼 생성과 실행(자동 생성)

기본적으로 Program.cs의 Application.Run 함수를 통해 Form1의 객체 생성 및 실행된다.

 

Form1.Designer.cs : 자동 생성 코드 (생성하는 Controls에 대한 속성 및 이벤트 처리 등)

Form1.cs[디자인] : 윈도우 form에 대한 디자인을 보여주는 화면

Form1.cs : 이벤트 처리 및 기타 로직을 작성하는 곳 [디자인]에서 생성된 이벤트들이 함수로 자동 생성된다.

 

WinForm은 기본적으로 Form1.cs[디자인] / Form1.cs / Form1.Designer.cs를 통해 동작하게 된다. [디자인]을 통해 원하는 속성을 추가하게 되면 Form1.cs에 속성에 해당하는 함수를 생성하게 되며, Designer.cs에 해당 이벤트 속성에 대한 값이 들어가게 된다.


Form 관련 기본 메시지

- WM_CREATE, WM_CLOSE, WM_DESTROY (WM = Window Message)

 

Form 자체에도 이벤트가 있을 수 있다.

Fom과 관련된 속성을 확인할 수 있다.

Form과 관련된 이벤트를 확인할 수 있다.

 

위 사진을 보게 되면 Form의 이벤트 중 Load를 확인할 수 있다.

 

Load : Form이 처음으로 표시되기 전에 발생하며 Form에서 사용하는 리소스를 할당한다. Public event EventHandler load를 한번만 호출하게 되며 리소스를 초기화 한다.

 

이와 같이 해당 속성 및 이벤트를 통해 WinForm을 동작 시키고, 이벤트를 통해 action을 취할 수 있다.


Form 속성 (Property, get / set)

- Handle : Window handle(윈도우 프로그램에 대한 고유번호)

- Text : Control 또는 Window Title-Bar에 텍스트 출력 또는 입력

- Visible : Form 또는 Control의 출력 여부를 결정한다.

- Enable : 활성 또는 비활성

- ClientRectangle : Client 크기 영역을 가져오는 역할


Event

Event는 Delegate의 확장 형태에 해당한다.

Delegate는 객체 외부에서 사용, Event는 객체의 내부에서 사용

 

개발자가 직접 코딩한 부분은 Event에 해당한다.

sender는 이벤트를 호출하는 객체 참조, e 이벤트에 관련된 정보를 제공하는 클래스에 해당한다.

 

 

 

 

 

728x90