25.10.06 개발일지(이것이 C#이다 chapter 20)

2025. 11. 16. 18:14·10월 개발일지

 

25.10.06 개발일지

[이것이 C#이다 chapter 20]

 

WinForm으로 만드는 사용자 인터페이스

 

chapter 20

Application 클래스

윈도우 응용 프로그램을 시작하고 종료하는 메소드를 제공하고(Application.Run( ), Application.Exit( )),

윈도우 메시지를 처리한다.

 

Exit( ) 메소드가 호출된다고 해서 응용프로그램이 바로 종료되는 것이 아니다.

응용 프로그램이 갖고 있는 모든 윈도우를 닫은 뒤 Run( ) 메소드가 반환되도록 하는 것이다.

 

윈도우 기반의 응용 프로그램은 갑자기 일어나는 사건에 반응해서 코드가 실행되는 이른바 이벤트(마우스 클릭, 키보드 입력 등) 기반 방식으로 만들어진다.

ㄹ

윈도우 응용 프로그램은 마우스 이동이나 클릭, 키보드 입력처럼 미리 시스템에 정의된 메시지를 받지만,

다른 응용 프로그램이 자체적으로 정의한 메시지도 받을 수 있다.

 

Application 클래스는 응용 프로그램이 받는 수많은 메시지 중에 관심 있는 메시지만 걸러낼 수 있는

메시지 필터링 기능을 갖고 있다.

 

메시지들은 WinForm의 각 윈도우와 컨트롤에 전달되며, 윈도우와 컨트롤은 이 메시지를 받으면 미리 정의된 이벤트를 발생시키고, 각 이벤트는 프로그래머가 등록한 이벤트 처리기를 호출한다.

 

Form 클래스

창의 크기를 바꾸고, 창의 배경색과 투명도를 조절 등 다양한 UI 조작을 할 수 있다.

 

윈도우 OS는 UI를 위해 메뉴, 콤보박스, 리스트뷰, 버튼, 텍스트박스 등과 같은 표준 컨트롤을 제공한다.

.NET의 WinForm은 이들 표준 컨트롤(위젯)을 아주 간편하게 창 위에 올릴 수 있도록 잘 포장해놨다.

 

인트턴스를 만들었으면 각 프로퍼티에 값을 지정해서 컨트롤의 모양을 결정한다.

컨트롤은 애플리케이션의 정보를 표시하는 기능을 하기도 하지만 사용자로부터 입력을 받는 창구이기도 하다.

사용자가 버튼을 클릭하면 메시지 박스를 띄우도록 이벤트 처리기를 선언하고 이벤트에 등록한다.

Form의 인스턴스를 생성하고, 이 인스턴스에서 Controls 프로퍼티의 Add( ) 메소드를 호출하여 우리가 선언한 button 객체를 Form에 올린다.

폼 디자이너

폼 디자이너는 비주얼 스튜디오 IDE의 일부로, 코드를 통해 컨트롤을 폼 위에 배치하고 프로퍼티를 변경했던 작업을 마우스 클릭만으로 가능하게 해준다.

이벤트 처리 껍데기에 다음과 같이 코드를 추가해서 이벤트 처리기를 완성한다.

 

 

 

'10월 개발일지' 카테고리의 다른 글

25.10.14 개발일지(C# 개인 프로젝트 게임 만들기)  (0) 2025.11.16
25.10.13 개발일지(이것이 C#이다 chapter 21, 22)  (0) 2025.11.16
25.10.05 개발일지(이것이 C#이다 chapter 13, 19)  (0) 2025.11.16
25.10.02 개발일지(이것이 C#이다 chapter 10, 11, 12)  (0) 2025.11.16
25.10.01 개발일지(이것이 C#이다 chapter 8, 9)  (0) 2025.11.16
'10월 개발일지' 카테고리의 다른 글
  • 25.10.14 개발일지(C# 개인 프로젝트 게임 만들기)
  • 25.10.13 개발일지(이것이 C#이다 chapter 21, 22)
  • 25.10.05 개발일지(이것이 C#이다 chapter 13, 19)
  • 25.10.02 개발일지(이것이 C#이다 chapter 10, 11, 12)
dldmstj4378
dldmstj4378
dldmstj4378 님의 블로그 입니다.
  • dldmstj4378
    dldmstj4378 님의 블로그
    dldmstj4378
  • 전체
    오늘
    어제
    • 분류 전체보기 (136)
      • 비전 검사 (0)
      • 11월 개발일지 (6)
      • 10월 개발일지 (15)
      • 9월 개발일지 (26)
      • 8월 개발일지 (20)
      • 7월 개발일지 (26)
      • 6월 개발일지 (27)
      • 5월 개발일지 (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dldmstj4378
25.10.06 개발일지(이것이 C#이다 chapter 20)
상단으로

티스토리툴바